<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>OstreeRepo: Content-addressed object store: OSTree API references</title>
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="OSTree API references">
<link rel="up" href="reference.html" title="API Reference">
<link rel="prev" href="ostree-Core-repository-independent-functions.html" title="Core repository-independent functions">
<link rel="next" href="ostree-In-memory-modifiable-filesystem-tree.html" title="In-memory modifiable filesystem tree">
<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts">
<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
                  <a href="#ostree-OstreeRepo.description" class="shortcut">Description</a></span>
</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="reference.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
<td><a accesskey="p" href="ostree-Core-repository-independent-functions.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="ostree-In-memory-modifiable-filesystem-tree.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
<a name="ostree-OstreeRepo"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="ostree-OstreeRepo.top_of_page"></a>OstreeRepo: Content-addressed object store</span></h2>
<p>OstreeRepo: Content-addressed object store — A git-like storage system for operating system binaries</p>
</td>
<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
<a name="ostree-OstreeRepo.functions"></a><h2>Functions</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_proto_type">
<col class="functions_proto_name">
</colgroup>
<tbody>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-mode-from-string" title="ostree_repo_mode_from_string ()">ostree_repo_mode_from_string</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="returnvalue">OstreeRepo</span></a> *
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-open-at" title="ostree_repo_open_at ()">ostree_repo_open_at</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="returnvalue">OstreeRepo</span></a> *
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-new" title="ostree_repo_new ()">ostree_repo_new</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="returnvalue">OstreeRepo</span></a> *
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-new-for-sysroot-path" title="ostree_repo_new_for_sysroot_path ()">ostree_repo_new_for_sysroot_path</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="returnvalue">OstreeRepo</span></a> *
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-new-default" title="ostree_repo_new_default ()">ostree_repo_new_default</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-open" title="ostree_repo_open ()">ostree_repo_open</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-set-disable-fsync" title="ostree_repo_set_disable_fsync ()">ostree_repo_set_disable_fsync</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-get-disable-fsync" title="ostree_repo_get_disable_fsync ()">ostree_repo_get_disable_fsync</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-is-system" title="ostree_repo_is_system ()">ostree_repo_is_system</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-is-writable" title="ostree_repo_is_writable ()">ostree_repo_is_writable</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="returnvalue">OstreeRepo</span></a> *
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-create-at" title="ostree_repo_create_at ()">ostree_repo_create_at</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-create" title="ostree_repo_create ()">ostree_repo_create</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">const <span class="returnvalue">gchar</span> *
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-get-collection-id" title="ostree_repo_get_collection_id ()">ostree_repo_get_collection_id</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">const <span class="returnvalue">gchar</span> *
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-get-bootloader" title="ostree_repo_get_bootloader ()">ostree_repo_get_bootloader</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">GFile</span> *
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-get-path" title="ostree_repo_get_path ()">ostree_repo_get_path</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="ostree-OstreeRepo.html#OstreeRepoMode" title="enum OstreeRepoMode"><span class="returnvalue">OstreeRepoMode</span></a>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-get-mode" title="ostree_repo_get_mode ()">ostree_repo_get_mode</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-get-min-free-space-bytes" title="ostree_repo_get_min_free_space_bytes ()">ostree_repo_get_min_free_space_bytes</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">GKeyFile</span> *
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-get-config" title="ostree_repo_get_config ()">ostree_repo_get_config</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">int</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-get-dfd" title="ostree_repo_get_dfd ()">ostree_repo_get_dfd</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">const <span class="returnvalue">gchar</span> *const *
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-get-default-repo-finders" title="ostree_repo_get_default_repo_finders ()">ostree_repo_get_default_repo_finders</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-lock-pop" title="ostree_repo_lock_pop ()">ostree_repo_lock_pop</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-lock-push" title="ostree_repo_lock_push ()">ostree_repo_lock_push</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="ostree-OstreeRepo.html#OstreeRepoAutoLock" title="OstreeRepoAutoLock"><span class="returnvalue">OstreeRepoAutoLock</span></a> *
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-auto-lock-push" title="ostree_repo_auto_lock_push ()">ostree_repo_auto_lock_push</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-auto-lock-cleanup" title="ostree_repo_auto_lock_cleanup ()">ostree_repo_auto_lock_cleanup</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">guint</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-hash" title="ostree_repo_hash ()">ostree_repo_hash</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-equal" title="ostree_repo_equal ()">ostree_repo_equal</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">GKeyFile</span> *
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-copy-config" title="ostree_repo_copy_config ()">ostree_repo_copy_config</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-remote-add" title="ostree_repo_remote_add ()">ostree_repo_remote_add</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-remote-delete" title="ostree_repo_remote_delete ()">ostree_repo_remote_delete</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-remote-change" title="ostree_repo_remote_change ()">ostree_repo_remote_change</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">char</span> **
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-remote-list" title="ostree_repo_remote_list ()">ostree_repo_remote_list</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-remote-list-collection-refs" title="ostree_repo_remote_list_collection_refs ()">ostree_repo_remote_list_collection_refs</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-remote-get-url" title="ostree_repo_remote_get_url ()">ostree_repo_remote_get_url</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-remote-get-gpg-verify" title="ostree_repo_remote_get_gpg_verify ()">ostree_repo_remote_get_gpg_verify</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-remote-get-gpg-verify-summary" title="ostree_repo_remote_get_gpg_verify_summary ()">ostree_repo_remote_get_gpg_verify_summary</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-remote-get-gpg-keys" title="ostree_repo_remote_get_gpg_keys ()">ostree_repo_remote_get_gpg_keys</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-remote-gpg-import" title="ostree_repo_remote_gpg_import ()">ostree_repo_remote_gpg_import</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-remote-fetch-summary" title="ostree_repo_remote_fetch_summary ()">ostree_repo_remote_fetch_summary</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-remote-fetch-summary-with-options" title="ostree_repo_remote_fetch_summary_with_options ()">ostree_repo_remote_fetch_summary_with_options</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-reload-config" title="ostree_repo_reload_config ()">ostree_repo_reload_config</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-get-remote-boolean-option" title="ostree_repo_get_remote_boolean_option ()">ostree_repo_get_remote_boolean_option</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-get-remote-list-option" title="ostree_repo_get_remote_list_option ()">ostree_repo_get_remote_list_option</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-get-remote-option" title="ostree_repo_get_remote_option ()">ostree_repo_get_remote_option</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="returnvalue">OstreeRepo</span></a> *
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-get-parent" title="ostree_repo_get_parent ()">ostree_repo_get_parent</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-write-config" title="ostree_repo_write_config ()">ostree_repo_write_config</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-scan-hardlinks" title="ostree_repo_scan_hardlinks ()">ostree_repo_scan_hardlinks</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-prepare-transaction" title="ostree_repo_prepare_transaction ()">ostree_repo_prepare_transaction</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-commit-transaction" title="ostree_repo_commit_transaction ()">ostree_repo_commit_transaction</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-abort-transaction" title="ostree_repo_abort_transaction ()">ostree_repo_abort_transaction</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-transaction-set-refspec" title="ostree_repo_transaction_set_refspec ()">ostree_repo_transaction_set_refspec</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-transaction-set-collection-ref" title="ostree_repo_transaction_set_collection_ref ()">ostree_repo_transaction_set_collection_ref</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-transaction-set-ref" title="ostree_repo_transaction_set_ref ()">ostree_repo_transaction_set_ref</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-set-ref-immediate" title="ostree_repo_set_ref_immediate ()">ostree_repo_set_ref_immediate</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-set-alias-ref-immediate" title="ostree_repo_set_alias_ref_immediate ()">ostree_repo_set_alias_ref_immediate</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-set-cache-dir" title="ostree_repo_set_cache_dir ()">ostree_repo_set_cache_dir</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-set-collection-id" title="ostree_repo_set_collection_id ()">ostree_repo_set_collection_id</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-set-collection-ref-immediate" title="ostree_repo_set_collection_ref_immediate ()">ostree_repo_set_collection_ref_immediate</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-sign-delta" title="ostree_repo_sign_delta ()">ostree_repo_sign_delta</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-has-object" title="ostree_repo_has_object ()">ostree_repo_has_object</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-mark-commit-partial" title="ostree_repo_mark_commit_partial ()">ostree_repo_mark_commit_partial</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-mark-commit-partial-reason" title="ostree_repo_mark_commit_partial_reason ()">ostree_repo_mark_commit_partial_reason</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-write-metadata" title="ostree_repo_write_metadata ()">ostree_repo_write_metadata</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-write-metadata-async" title="ostree_repo_write_metadata_async ()">ostree_repo_write_metadata_async</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-write-metadata-finish" title="ostree_repo_write_metadata_finish ()">ostree_repo_write_metadata_finish</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-write-content" title="ostree_repo_write_content ()">ostree_repo_write_content</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">OstreeContentWriter</span> *
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-write-regfile" title="ostree_repo_write_regfile ()">ostree_repo_write_regfile</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">char</span> *
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-write-regfile-inline" title="ostree_repo_write_regfile_inline ()">ostree_repo_write_regfile_inline</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">char</span> *
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-write-symlink" title="ostree_repo_write_symlink ()">ostree_repo_write_symlink</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-write-metadata-trusted" title="ostree_repo_write_metadata_trusted ()">ostree_repo_write_metadata_trusted</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-write-metadata-stream-trusted" title="ostree_repo_write_metadata_stream_trusted ()">ostree_repo_write_metadata_stream_trusted</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-write-content-trusted" title="ostree_repo_write_content_trusted ()">ostree_repo_write_content_trusted</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-write-content-async" title="ostree_repo_write_content_async ()">ostree_repo_write_content_async</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-write-content-finish" title="ostree_repo_write_content_finish ()">ostree_repo_write_content_finish</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-resolve-rev" title="ostree_repo_resolve_rev ()">ostree_repo_resolve_rev</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-resolve-rev-ext" title="ostree_repo_resolve_rev_ext ()">ostree_repo_resolve_rev_ext</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-list-refs" title="ostree_repo_list_refs ()">ostree_repo_list_refs</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-list-refs-ext" title="ostree_repo_list_refs_ext ()">ostree_repo_list_refs_ext</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-list-collection-refs" title="ostree_repo_list_collection_refs ()">ostree_repo_list_collection_refs</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-remote-list-refs" title="ostree_repo_remote_list_refs ()">ostree_repo_remote_list_refs</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-resolve-collection-ref" title="ostree_repo_resolve_collection_ref ()">ostree_repo_resolve_collection_ref</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-load-variant" title="ostree_repo_load_variant ()">ostree_repo_load_variant</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-load-commit" title="ostree_repo_load_commit ()">ostree_repo_load_commit</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-load-variant-if-exists" title="ostree_repo_load_variant_if_exists ()">ostree_repo_load_variant_if_exists</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-load-file" title="ostree_repo_load_file ()">ostree_repo_load_file</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-load-object-stream" title="ostree_repo_load_object_stream ()">ostree_repo_load_object_stream</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-query-object-storage-size" title="ostree_repo_query_object_storage_size ()">ostree_repo_query_object_storage_size</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-import-object-from" title="ostree_repo_import_object_from ()">ostree_repo_import_object_from</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-import-object-from-with-trust" title="ostree_repo_import_object_from_with_trust ()">ostree_repo_import_object_from_with_trust</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-import-archive-to-mtree" title="ostree_repo_import_archive_to_mtree ()">ostree_repo_import_archive_to_mtree</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-export-tree-to-archive" title="ostree_repo_export_tree_to_archive ()">ostree_repo_export_tree_to_archive</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-delete-object" title="ostree_repo_delete_object ()">ostree_repo_delete_object</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-fsck-object" title="ostree_repo_fsck_object ()">ostree_repo_fsck_object</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="ostree-OstreeRepo.html#OstreeRepoCommitFilterResult" title="enum OstreeRepoCommitFilterResult"><span class="returnvalue">OstreeRepoCommitFilterResult</span></a>
</td>
<td class="function_name">
<span class="c_punctuation">(</span><a class="link" href="ostree-OstreeRepo.html#OstreeRepoCommitFilter" title="OstreeRepoCommitFilter ()">*OstreeRepoCommitFilter</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="ostree-OstreeRepo.html#OstreeRepoCommitModifier" title="OstreeRepoCommitModifier"><span class="returnvalue">OstreeRepoCommitModifier</span></a> *
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-commit-modifier-new" title="ostree_repo_commit_modifier_new ()">ostree_repo_commit_modifier_new</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">GVariant</span> *
</td>
<td class="function_name">
<span class="c_punctuation">(</span><a class="link" href="ostree-OstreeRepo.html#OstreeRepoCommitModifierXattrCallback" title="OstreeRepoCommitModifierXattrCallback ()">*OstreeRepoCommitModifierXattrCallback</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-commit-modifier-set-xattr-callback" title="ostree_repo_commit_modifier_set_xattr_callback ()">ostree_repo_commit_modifier_set_xattr_callback</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-commit-modifier-set-sepolicy" title="ostree_repo_commit_modifier_set_sepolicy ()">ostree_repo_commit_modifier_set_sepolicy</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-commit-modifier-set-sepolicy-from-commit" title="ostree_repo_commit_modifier_set_sepolicy_from_commit ()">ostree_repo_commit_modifier_set_sepolicy_from_commit</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-commit-modifier-set-devino-cache" title="ostree_repo_commit_modifier_set_devino_cache ()">ostree_repo_commit_modifier_set_devino_cache</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="ostree-OstreeRepo.html#OstreeRepoCommitModifier" title="OstreeRepoCommitModifier"><span class="returnvalue">OstreeRepoCommitModifier</span></a> *
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-commit-modifier-ref" title="ostree_repo_commit_modifier_ref ()">ostree_repo_commit_modifier_ref</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-commit-modifier-unref" title="ostree_repo_commit_modifier_unref ()">ostree_repo_commit_modifier_unref</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">OstreeRepoDevInoCache</span> *
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-devino-cache-new" title="ostree_repo_devino_cache_new ()">ostree_repo_devino_cache_new</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">OstreeRepoDevInoCache</span> *
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-devino-cache-ref" title="ostree_repo_devino_cache_ref ()">ostree_repo_devino_cache_ref</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-devino-cache-unref" title="ostree_repo_devino_cache_unref ()">ostree_repo_devino_cache_unref</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">GType</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-devino-cache-get-type" title="ostree_repo_devino_cache_get_type ()">ostree_repo_devino_cache_get_type</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-write-directory-to-mtree" title="ostree_repo_write_directory_to_mtree ()">ostree_repo_write_directory_to_mtree</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-write-dfd-to-mtree" title="ostree_repo_write_dfd_to_mtree ()">ostree_repo_write_dfd_to_mtree</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-write-archive-to-mtree" title="ostree_repo_write_archive_to_mtree ()">ostree_repo_write_archive_to_mtree</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-write-archive-to-mtree-from-fd" title="ostree_repo_write_archive_to_mtree_from_fd ()">ostree_repo_write_archive_to_mtree_from_fd</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-write-mtree" title="ostree_repo_write_mtree ()">ostree_repo_write_mtree</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-write-commit" title="ostree_repo_write_commit ()">ostree_repo_write_commit</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-write-commit-with-time" title="ostree_repo_write_commit_with_time ()">ostree_repo_write_commit_with_time</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-read-commit-detached-metadata" title="ostree_repo_read_commit_detached_metadata ()">ostree_repo_read_commit_detached_metadata</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-write-commit-detached-metadata" title="ostree_repo_write_commit_detached_metadata ()">ostree_repo_write_commit_detached_metadata</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-commit-add-composefs-metadata" title="ostree_repo_commit_add_composefs_metadata ()">ostree_repo_commit_add_composefs_metadata</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-checkout-at-options-set-devino" title="ostree_repo_checkout_at_options_set_devino ()">ostree_repo_checkout_at_options_set_devino</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-checkout-tree" title="ostree_repo_checkout_tree ()">ostree_repo_checkout_tree</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-checkout-tree-at" title="ostree_repo_checkout_tree_at ()">ostree_repo_checkout_tree_at</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-checkout-at" title="ostree_repo_checkout_at ()">ostree_repo_checkout_at</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-checkout-gc" title="ostree_repo_checkout_gc ()">ostree_repo_checkout_gc</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-read-commit" title="ostree_repo_read_commit ()">ostree_repo_read_commit</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-list-objects" title="ostree_repo_list_objects ()">ostree_repo_list_objects</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-list-commit-objects-starting-with" title="ostree_repo_list_commit_objects_starting_with ()">ostree_repo_list_commit_objects_starting_with</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-list-static-delta-names" title="ostree_repo_list_static_delta_names ()">ostree_repo_list_static_delta_names</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-list-static-delta-indexes" title="ostree_repo_list_static_delta_indexes ()">ostree_repo_list_static_delta_indexes</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-static-delta-reindex" title="ostree_repo_static_delta_reindex ()">ostree_repo_static_delta_reindex</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-static-delta-generate" title="ostree_repo_static_delta_generate ()">ostree_repo_static_delta_generate</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-static-delta-execute-offline-with-signature" title="ostree_repo_static_delta_execute_offline_with_signature ()">ostree_repo_static_delta_execute_offline_with_signature</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-static-delta-execute-offline" title="ostree_repo_static_delta_execute_offline ()">ostree_repo_static_delta_execute_offline</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-static-delta-verify-signature" title="ostree_repo_static_delta_verify_signature ()">ostree_repo_static_delta_verify_signature</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">GHashTable</span> *
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-traverse-new-reachable" title="ostree_repo_traverse_new_reachable ()">ostree_repo_traverse_new_reachable</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">GHashTable</span> *
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-traverse-new-parents" title="ostree_repo_traverse_new_parents ()">ostree_repo_traverse_new_parents</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">char</span> **
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-traverse-parents-get-commits" title="ostree_repo_traverse_parents_get_commits ()">ostree_repo_traverse_parents_get_commits</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-traverse-commit" title="ostree_repo_traverse_commit ()">ostree_repo_traverse_commit</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-traverse-commit-union" title="ostree_repo_traverse_commit_union ()">ostree_repo_traverse_commit_union</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-traverse-commit-union-with-parents" title="ostree_repo_traverse_commit_union_with_parents ()">ostree_repo_traverse_commit_union_with_parents</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-traverse-commit-with-flags" title="ostree_repo_traverse_commit_with_flags ()">ostree_repo_traverse_commit_with_flags</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-commit-traverse-iter-cleanup" title="ostree_repo_commit_traverse_iter_cleanup ()">ostree_repo_commit_traverse_iter_cleanup</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-commit-traverse-iter-clear" title="ostree_repo_commit_traverse_iter_clear ()">ostree_repo_commit_traverse_iter_clear</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-commit-traverse-iter-get-dir" title="ostree_repo_commit_traverse_iter_get_dir ()">ostree_repo_commit_traverse_iter_get_dir</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-commit-traverse-iter-get-file" title="ostree_repo_commit_traverse_iter_get_file ()">ostree_repo_commit_traverse_iter_get_file</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-commit-traverse-iter-init-commit" title="ostree_repo_commit_traverse_iter_init_commit ()">ostree_repo_commit_traverse_iter_init_commit</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-commit-traverse-iter-init-dirtree" title="ostree_repo_commit_traverse_iter_init_dirtree ()">ostree_repo_commit_traverse_iter_init_dirtree</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="ostree-OstreeRepo.html#OstreeRepoCommitIterResult" title="enum OstreeRepoCommitIterResult"><span class="returnvalue">OstreeRepoCommitIterResult</span></a>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-commit-traverse-iter-next" title="ostree_repo_commit_traverse_iter_next ()">ostree_repo_commit_traverse_iter_next</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-prune" title="ostree_repo_prune ()">ostree_repo_prune</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-prune-static-deltas" title="ostree_repo_prune_static_deltas ()">ostree_repo_prune_static_deltas</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-traverse-reachable-refs" title="ostree_repo_traverse_reachable_refs ()">ostree_repo_traverse_reachable_refs</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-prune-from-reachable" title="ostree_repo_prune_from_reachable ()">ostree_repo_prune_from_reachable</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-pull" title="ostree_repo_pull ()">ostree_repo_pull</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-pull-one-dir" title="ostree_repo_pull_one_dir ()">ostree_repo_pull_one_dir</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-pull-with-options" title="ostree_repo_pull_with_options ()">ostree_repo_pull_with_options</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-pull-default-console-progress-changed" title="ostree_repo_pull_default_console_progress_changed ()">ostree_repo_pull_default_console_progress_changed</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-sign-commit" title="ostree_repo_sign_commit ()">ostree_repo_sign_commit</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-append-gpg-signature" title="ostree_repo_append_gpg_signature ()">ostree_repo_append_gpg_signature</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-add-gpg-signature-summary" title="ostree_repo_add_gpg_signature_summary ()">ostree_repo_add_gpg_signature_summary</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-gpg-sign-data" title="ostree_repo_gpg_sign_data ()">ostree_repo_gpg_sign_data</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="ostree-GPG-signature-verification-results.html#OstreeGpgVerifyResult" title="OstreeGpgVerifyResult"><span class="returnvalue">OstreeGpgVerifyResult</span></a> *
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-gpg-verify-data" title="ostree_repo_gpg_verify_data ()">ostree_repo_gpg_verify_data</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-signature-verify-commit-data" title="ostree_repo_signature_verify_commit_data ()">ostree_repo_signature_verify_commit_data</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-verify-commit" title="ostree_repo_verify_commit ()">ostree_repo_verify_commit</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="ostree-GPG-signature-verification-results.html#OstreeGpgVerifyResult" title="OstreeGpgVerifyResult"><span class="returnvalue">OstreeGpgVerifyResult</span></a> *
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-verify-commit-ext" title="ostree_repo_verify_commit_ext ()">ostree_repo_verify_commit_ext</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="ostree-GPG-signature-verification-results.html#OstreeGpgVerifyResult" title="OstreeGpgVerifyResult"><span class="returnvalue">OstreeGpgVerifyResult</span></a> *
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-verify-commit-for-remote" title="ostree_repo_verify_commit_for_remote ()">ostree_repo_verify_commit_for_remote</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="ostree-GPG-signature-verification-results.html#OstreeGpgVerifyResult" title="OstreeGpgVerifyResult"><span class="returnvalue">OstreeGpgVerifyResult</span></a> *
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-verify-summary" title="ostree_repo_verify_summary ()">ostree_repo_verify_summary</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-regenerate-metadata" title="ostree_repo_regenerate_metadata ()">ostree_repo_regenerate_metadata</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-regenerate-summary" title="ostree_repo_regenerate_summary ()">ostree_repo_regenerate_summary</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="ostree-OstreeRepo.other"></a><h2>Types and Values</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="other_proto_type">
<col class="other_proto_name">
</colgroup>
<tbody>
<tr>
<td class="typedef_keyword">typedef</td>
<td class="function_name"><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo">OstreeRepo</a></td>
</tr>
<tr>
<td class="datatype_keyword">enum</td>
<td class="function_name"><a class="link" href="ostree-OstreeRepo.html#OstreeRepoMode" title="enum OstreeRepoMode">OstreeRepoMode</a></td>
</tr>
<tr>
<td class="datatype_keyword">enum</td>
<td class="function_name"><a class="link" href="ostree-OstreeRepo.html#OstreeRepoLockType" title="enum OstreeRepoLockType">OstreeRepoLockType</a></td>
</tr>
<tr>
<td class="typedef_keyword">typedef</td>
<td class="function_name"><a class="link" href="ostree-OstreeRepo.html#OstreeRepoAutoLock" title="OstreeRepoAutoLock">OstreeRepoAutoLock</a></td>
</tr>
<tr>
<td class="datatype_keyword">enum</td>
<td class="function_name"><a class="link" href="ostree-OstreeRepo.html#OstreeRepoRemoteChange" title="enum OstreeRepoRemoteChange">OstreeRepoRemoteChange</a></td>
</tr>
<tr>
<td class="datatype_keyword">struct</td>
<td class="function_name"><a class="link" href="ostree-OstreeRepo.html#OstreeRepoTransactionStats" title="struct OstreeRepoTransactionStats">OstreeRepoTransactionStats</a></td>
</tr>
<tr>
<td class="datatype_keyword">enum</td>
<td class="function_name"><a class="link" href="ostree-OstreeRepo.html#OstreeRepoResolveRevExtFlags" title="enum OstreeRepoResolveRevExtFlags">OstreeRepoResolveRevExtFlags</a></td>
</tr>
<tr>
<td class="datatype_keyword">enum</td>
<td class="function_name"><a class="link" href="ostree-OstreeRepo.html#OstreeRepoListRefsExtFlags" title="enum OstreeRepoListRefsExtFlags">OstreeRepoListRefsExtFlags</a></td>
</tr>
<tr>
<td class="datatype_keyword">enum</td>
<td class="function_name"><a class="link" href="ostree-OstreeRepo.html#OstreeRepoCommitState" title="enum OstreeRepoCommitState">OstreeRepoCommitState</a></td>
</tr>
<tr>
<td class="datatype_keyword">enum</td>
<td class="function_name"><a class="link" href="ostree-OstreeRepo.html#OstreeRepoCommitFilterResult" title="enum OstreeRepoCommitFilterResult">OstreeRepoCommitFilterResult</a></td>
</tr>
<tr>
<td class="typedef_keyword">typedef</td>
<td class="function_name"><a class="link" href="ostree-OstreeRepo.html#OstreeRepoCommitModifier" title="OstreeRepoCommitModifier">OstreeRepoCommitModifier</a></td>
</tr>
<tr>
<td class="datatype_keyword">enum</td>
<td class="function_name"><a class="link" href="ostree-OstreeRepo.html#OstreeRepoCommitModifierFlags" title="enum OstreeRepoCommitModifierFlags">OstreeRepoCommitModifierFlags</a></td>
</tr>
<tr>
<td class="datatype_keyword">enum</td>
<td class="function_name"><a class="link" href="ostree-OstreeRepo.html#OstreeRepoCheckoutMode" title="enum OstreeRepoCheckoutMode">OstreeRepoCheckoutMode</a></td>
</tr>
<tr>
<td class="datatype_keyword">enum</td>
<td class="function_name"><a class="link" href="ostree-OstreeRepo.html#OstreeRepoCheckoutOverwriteMode" title="enum OstreeRepoCheckoutOverwriteMode">OstreeRepoCheckoutOverwriteMode</a></td>
</tr>
<tr>
<td class="datatype_keyword">enum</td>
<td class="function_name"><a class="link" href="ostree-OstreeRepo.html#OstreeRepoListObjectsFlags" title="enum OstreeRepoListObjectsFlags">OstreeRepoListObjectsFlags</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="ostree-OstreeRepo.html#OSTREE-REPO-LIST-OBJECTS-VARIANT-TYPE:CAPS" title="OSTREE_REPO_LIST_OBJECTS_VARIANT_TYPE">OSTREE_REPO_LIST_OBJECTS_VARIANT_TYPE</a></td>
</tr>
<tr>
<td class="datatype_keyword">enum</td>
<td class="function_name"><a class="link" href="ostree-OstreeRepo.html#OstreeStaticDeltaGenerateOpt" title="enum OstreeStaticDeltaGenerateOpt">OstreeStaticDeltaGenerateOpt</a></td>
</tr>
<tr>
<td class="datatype_keyword">enum</td>
<td class="function_name"><a class="link" href="ostree-OstreeRepo.html#OstreeRepoCommitTraverseFlags" title="enum OstreeRepoCommitTraverseFlags">OstreeRepoCommitTraverseFlags</a></td>
</tr>
<tr>
<td class="datatype_keyword">enum</td>
<td class="function_name"><a class="link" href="ostree-OstreeRepo.html#OstreeRepoCommitIterResult" title="enum OstreeRepoCommitIterResult">OstreeRepoCommitIterResult</a></td>
</tr>
<tr>
<td class="datatype_keyword">enum</td>
<td class="function_name"><a class="link" href="ostree-OstreeRepo.html#OstreeRepoPruneFlags" title="enum OstreeRepoPruneFlags">OstreeRepoPruneFlags</a></td>
</tr>
<tr>
<td class="datatype_keyword">enum</td>
<td class="function_name"><a class="link" href="ostree-OstreeRepo.html#OstreeRepoPullFlags" title="enum OstreeRepoPullFlags">OstreeRepoPullFlags</a></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="ostree-OstreeRepo.description"></a><h2>Description</h2>
<p>The <a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> is like git, a content-addressed object store.
Unlike git, it records uid, gid, and extended attributes.</p>
<p>There are four possible "modes" for an <a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a>; <a class="link" href="ostree-OstreeRepo.html#OSTREE-REPO-MODE-BARE:CAPS"><code class="literal">OSTREE_REPO_MODE_BARE</code></a>
is very simple - content files are represented exactly as they are, and
checkouts are just hardlinks. <a class="link" href="ostree-OstreeRepo.html#OSTREE-REPO-MODE-BARE-USER:CAPS"><code class="literal">OSTREE_REPO_MODE_BARE_USER</code></a> is similar, except
the uid/gids are not set on the files, and checkouts as hardlinks work only
for user checkouts. <a class="link" href="ostree-OstreeRepo.html#OSTREE-REPO-MODE-BARE-USER-ONLY:CAPS"><code class="literal">OSTREE_REPO_MODE_BARE_USER_ONLY</code></a> is the same as
BARE_USER, but all metadata is not stored, so it can only be used for user
checkouts. This mode does not require xattrs. A <a class="link" href="ostree-OstreeRepo.html#OSTREE-REPO-MODE-ARCHIVE:CAPS"><code class="literal">OSTREE_REPO_MODE_ARCHIVE</code></a>
(also known as <a class="link" href="ostree-OstreeRepo.html#OSTREE-REPO-MODE-ARCHIVE-Z2:CAPS"><code class="literal">OSTREE_REPO_MODE_ARCHIVE_Z2</code></a>) repository in contrast stores
content files zlib-compressed. It is suitable for non-root-owned
repositories that can be served via a static HTTP server.</p>
<p>Creating an <a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> does not invoke any file I/O, and thus needs
to be initialized, either from existing contents or as a new
repository. If you have an existing repo, use <a class="link" href="ostree-OstreeRepo.html#ostree-repo-open" title="ostree_repo_open ()"><code class="function">ostree_repo_open()</code></a>
to load it from disk and check its validity. To initialize a new
repository in the given filepath, use <a class="link" href="ostree-OstreeRepo.html#ostree-repo-create" title="ostree_repo_create ()"><code class="function">ostree_repo_create()</code></a> instead.</p>
<p>To store content in the repo, first start a transaction with
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-prepare-transaction" title="ostree_repo_prepare_transaction ()"><code class="function">ostree_repo_prepare_transaction()</code></a>.  Then create a
<a class="link" href="ostree-In-memory-modifiable-filesystem-tree.html#OstreeMutableTree" title="OstreeMutableTree"><span class="type">OstreeMutableTree</span></a>, and apply functions such as
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-write-directory-to-mtree" title="ostree_repo_write_directory_to_mtree ()"><code class="function">ostree_repo_write_directory_to_mtree()</code></a> to traverse a physical
filesystem and write content, possibly multiple times.</p>
<p>Once the <a class="link" href="ostree-In-memory-modifiable-filesystem-tree.html#OstreeMutableTree" title="OstreeMutableTree"><span class="type">OstreeMutableTree</span></a> is complete, write all of its metadata
with <a class="link" href="ostree-OstreeRepo.html#ostree-repo-write-mtree" title="ostree_repo_write_mtree ()"><code class="function">ostree_repo_write_mtree()</code></a>, and finally create a commit with
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-write-commit" title="ostree_repo_write_commit ()"><code class="function">ostree_repo_write_commit()</code></a>.</p>
<div class="refsect3">
<a name="id-1.2.3.5.7"></a><h4>Collection IDs</h4>
<p>A collection ID is a globally unique identifier which, if set, is used to
identify refs from a repository which are mirrored elsewhere, such as in
mirror repositories or peer to peer networks.</p>
<p>This is separate from the <code class="literal">collection-id</code> configuration key for a remote, which
is used to store the collection ID of the repository that remote points to.</p>
<p>The collection ID should only be set on an <a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> if it is the canonical
collection for some refs.</p>
<p>A collection ID must be a reverse DNS name, where the domain name is under the
control of the curator of the collection, so they can demonstrate ownership
of the collection. The later elements in the reverse DNS name can be used to
disambiguate between multiple collections from the same curator. For example,
<code class="literal">org.exampleos.Main</code> and <code class="literal">org.exampleos.Apps</code>. For the complete format of
collection IDs, see <a class="link" href="ostree-Core-repository-independent-functions.html#ostree-validate-collection-id" title="ostree_validate_collection_id ()"><code class="function">ostree_validate_collection_id()</code></a>.</p>
</div>
</div>
<div class="refsect1">
<a name="ostree-OstreeRepo.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="ostree-repo-mode-from-string"></a><h3>ostree_repo_mode_from_string ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_mode_from_string (<em class="parameter"><code>const <span class="type">char</span> *mode</code></em>,
                              <em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepoMode" title="enum OstreeRepoMode"><span class="type">OstreeRepoMode</span></a> *out_mode</code></em>,
                              <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<div class="refsect3">
<a name="ostree-repo-mode-from-string.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>mode</p></td>
<td class="parameter_description"><p>a repo mode as a string</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>out_mode</p></td>
<td class="parameter_description"><p>the corresponding <a class="link" href="ostree-OstreeRepo.html#OstreeRepoMode" title="enum OstreeRepoMode"><span class="type">OstreeRepoMode</span></a>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>a <span class="type">GError</span> if the string is not a valid mode</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-open-at"></a><h3>ostree_repo_open_at ()</h3>
<pre class="programlisting"><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="returnvalue">OstreeRepo</span></a> *
ostree_repo_open_at (<em class="parameter"><code><span class="type">int</span> dfd</code></em>,
                     <em class="parameter"><code>const <span class="type">char</span> *path</code></em>,
                     <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                     <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>This combines <a class="link" href="ostree-OstreeRepo.html#ostree-repo-new" title="ostree_repo_new ()"><code class="function">ostree_repo_new()</code></a> (but using fd-relative access) with
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-open" title="ostree_repo_open ()"><code class="function">ostree_repo_open()</code></a>.  Use this when you know you should be operating on an
already extant repository.  If you want to create one, use <a class="link" href="ostree-OstreeRepo.html#ostree-repo-create-at" title="ostree_repo_create_at ()"><code class="function">ostree_repo_create_at()</code></a>.</p>
<div class="refsect3">
<a name="ostree-repo-open-at.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>dfd</p></td>
<td class="parameter_description"><p>Directory fd</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>path</p></td>
<td class="parameter_description"><p>Path</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="ostree-repo-open-at.returns"></a><h4>Returns</h4>
<p>An accessor object for an OSTree repository located at <em class="parameter"><code>dfd</code></em>
+ <em class="parameter"><code>path</code></em>
. </p>
<p><span class="annotation">[<a href="http://foldoc.org/transfer%20full"><span class="acronym">transfer full</span></a>]</span></p>
</div>
<p class="since">Since: 2017.10</p>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-new"></a><h3>ostree_repo_new ()</h3>
<pre class="programlisting"><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="returnvalue">OstreeRepo</span></a> *
ostree_repo_new (<em class="parameter"><code><span class="type">GFile</span> *path</code></em>);</pre>
<div class="refsect3">
<a name="ostree-repo-new.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>path</p></td>
<td class="parameter_description"><p>Path to a repository</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="ostree-repo-new.returns"></a><h4>Returns</h4>
<p>An accessor object for an OSTree repository located at <em class="parameter"><code>path</code></em>
. </p>
<p><span class="annotation">[<a href="http://foldoc.org/transfer%20full"><span class="acronym">transfer full</span></a>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-new-for-sysroot-path"></a><h3>ostree_repo_new_for_sysroot_path ()</h3>
<pre class="programlisting"><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="returnvalue">OstreeRepo</span></a> *
ostree_repo_new_for_sysroot_path (<em class="parameter"><code><span class="type">GFile</span> *repo_path</code></em>,
                                  <em class="parameter"><code><span class="type">GFile</span> *sysroot_path</code></em>);</pre>
<p>Creates a new <a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> instance, taking the system root path explicitly
instead of assuming "/".</p>
<div class="refsect3">
<a name="ostree-repo-new-for-sysroot-path.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>repo_path</p></td>
<td class="parameter_description"><p>Path to a repository</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>sysroot_path</p></td>
<td class="parameter_description"><p>Path to the system root</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="ostree-repo-new-for-sysroot-path.returns"></a><h4>Returns</h4>
<p>An accessor object for the OSTree repository located at <em class="parameter"><code>repo_path</code></em>
. </p>
<p><span class="annotation">[<a href="http://foldoc.org/transfer%20full"><span class="acronym">transfer full</span></a>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-new-default"></a><h3>ostree_repo_new_default ()</h3>
<pre class="programlisting"><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="returnvalue">OstreeRepo</span></a> *
ostree_repo_new_default (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>If the current working directory appears to be an OSTree
repository, create a new <a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> object for accessing it.
Otherwise use the path in the OSTREE_REPO environment variable
(if defined) or else the default system repository located at
/ostree/repo.</p>
<div class="refsect3">
<a name="ostree-repo-new-default.returns"></a><h4>Returns</h4>
<p>An accessor object for an OSTree repository located at /ostree/repo. </p>
<p><span class="annotation">[<a href="http://foldoc.org/transfer%20full"><span class="acronym">transfer full</span></a>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-open"></a><h3>ostree_repo_open ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_open (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                  <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                  <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-set-disable-fsync"></a><h3>ostree_repo_set_disable_fsync ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
ostree_repo_set_disable_fsync (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                               <em class="parameter"><code><span class="type">gboolean</span> disable_fsync</code></em>);</pre>
<p>Disable requests to <code class="function">fsync()</code> to stable storage during commits.  This
option should only be used by build system tools which are creating
disposable virtual machines, or have higher level mechanisms for
ensuring data consistency.</p>
<div class="refsect3">
<a name="ostree-repo-set-disable-fsync.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>An <a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>disable_fsync</p></td>
<td class="parameter_description"><p>If <code class="literal">TRUE</code>, do not fsync</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-get-disable-fsync"></a><h3>ostree_repo_get_disable_fsync ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_get_disable_fsync (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>);</pre>
<p>For more information see <a class="link" href="ostree-OstreeRepo.html#ostree-repo-set-disable-fsync" title="ostree_repo_set_disable_fsync ()"><code class="function">ostree_repo_set_disable_fsync()</code></a>.</p>
<div class="refsect3">
<a name="ostree-repo-get-disable-fsync.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>An <a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="ostree-repo-get-disable-fsync.returns"></a><h4>Returns</h4>
<p> Whether or not <code class="function">fsync()</code> is enabled for this repo.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-is-system"></a><h3>ostree_repo_is_system ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_is_system (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *repo</code></em>);</pre>
<div class="refsect3">
<a name="ostree-repo-is-system.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>repo</p></td>
<td class="parameter_description"><p>Repository</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="ostree-repo-is-system.returns"></a><h4>Returns</h4>
<p> <code class="literal">TRUE</code> if this repository is the root-owned system global repository</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-is-writable"></a><h3>ostree_repo_is_writable ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_is_writable (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                         <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Returns whether the repository is writable by the current user.
If the repository is not writable, the <em class="parameter"><code>error</code></em>
 indicates why.</p>
<div class="refsect3">
<a name="ostree-repo-is-writable.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>a <span class="type">GError</span></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="ostree-repo-is-writable.returns"></a><h4>Returns</h4>
<p> <code class="literal">TRUE</code> if this repository is writable</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-create-at"></a><h3>ostree_repo_create_at ()</h3>
<pre class="programlisting"><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="returnvalue">OstreeRepo</span></a> *
ostree_repo_create_at (<em class="parameter"><code><span class="type">int</span> dfd</code></em>,
                       <em class="parameter"><code>const <span class="type">char</span> *path</code></em>,
                       <em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepoMode" title="enum OstreeRepoMode"><span class="type">OstreeRepoMode</span></a> mode</code></em>,
                       <em class="parameter"><code><span class="type">GVariant</span> *options</code></em>,
                       <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                       <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>This is a file-descriptor relative version of <a class="link" href="ostree-OstreeRepo.html#ostree-repo-create" title="ostree_repo_create ()"><code class="function">ostree_repo_create()</code></a>.
Create the underlying structure on disk for the repository, and call
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-open-at" title="ostree_repo_open_at ()"><code class="function">ostree_repo_open_at()</code></a> on the result, preparing it for use.</p>
<p>If a repository already exists at <em class="parameter"><code>dfd</code></em>
 + <em class="parameter"><code>path</code></em>
 (defined by an <code class="literal">objects/</code>
subdirectory existing), then this function will simply call
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-open-at" title="ostree_repo_open_at ()"><code class="function">ostree_repo_open_at()</code></a>.  In other words, this function cannot be used to change
the mode or configuration (<code class="literal">repo/config</code>) of an existing repo.</p>
<p>The <em class="parameter"><code>options</code></em>
 dict may contain:</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>collection-id: s: Set as collection ID in repo/config (Since 2017.9)</p></li></ul></div>
<div class="refsect3">
<a name="ostree-repo-create-at.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>dfd</p></td>
<td class="parameter_description"><p>Directory fd</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>path</p></td>
<td class="parameter_description"><p>Path</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>mode</p></td>
<td class="parameter_description"><p>The mode to store the repository in</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>options</p></td>
<td class="parameter_description"><p>a{sv}: See below for accepted keys. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/nullable"><span class="acronym">nullable</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>Cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="ostree-repo-create-at.returns"></a><h4>Returns</h4>
<p>A new OSTree repository reference. </p>
<p><span class="annotation">[<a href="http://foldoc.org/transfer%20full"><span class="acronym">transfer full</span></a>]</span></p>
</div>
<p class="since">Since: 2017.10</p>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-create"></a><h3>ostree_repo_create ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_create (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                    <em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepoMode" title="enum OstreeRepoMode"><span class="type">OstreeRepoMode</span></a> mode</code></em>,
                    <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                    <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Create the underlying structure on disk for the repository, and call
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-open" title="ostree_repo_open ()"><code class="function">ostree_repo_open()</code></a> on the result, preparing it for use.</p>
<p>Since version 2016.8, this function will succeed on an existing
repository, and finish creating any necessary files in a partially
created repository.  However, this function cannot change the mode
of an existing repository, and will silently ignore an attempt to
do so.</p>
<p>Since 2017.9, "existing repository" is defined by the existence of an
<code class="literal">objects</code> subdirectory.</p>
<p>This function predates <a class="link" href="ostree-OstreeRepo.html#ostree-repo-create-at" title="ostree_repo_create_at ()"><code class="function">ostree_repo_create_at()</code></a>. It is an error to call
this function on a repository initialized via <a class="link" href="ostree-OstreeRepo.html#ostree-repo-open-at" title="ostree_repo_open_at ()"><code class="function">ostree_repo_open_at()</code></a>.</p>
<div class="refsect3">
<a name="ostree-repo-create.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>An <a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>mode</p></td>
<td class="parameter_description"><p>The mode to store the repository in</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>Cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-get-collection-id"></a><h3>ostree_repo_get_collection_id ()</h3>
<pre class="programlisting">const <span class="returnvalue">gchar</span> *
ostree_repo_get_collection_id (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>);</pre>
<p>Get the collection ID of this repository. See collection IDs.</p>
<div class="refsect3">
<a name="ostree-repo-get-collection-id.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>an <a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="ostree-repo-get-collection-id.returns"></a><h4>Returns</h4>
<p>collection ID for the repository. </p>
<p><span class="annotation">[<a href="http://foldoc.org/nullable"><span class="acronym">nullable</span></a>]</span></p>
</div>
<p class="since">Since: 2018.6</p>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-get-bootloader"></a><h3>ostree_repo_get_bootloader ()</h3>
<pre class="programlisting">const <span class="returnvalue">gchar</span> *
ostree_repo_get_bootloader (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>);</pre>
<p>Get the bootloader configured. See the documentation for the
"sysroot.bootloader" config key.</p>
<div class="refsect3">
<a name="ostree-repo-get-bootloader.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>an <a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="ostree-repo-get-bootloader.returns"></a><h4>Returns</h4>
<p>bootloader configuration for the sysroot. </p>
<p><span class="annotation">[<a href="http://foldoc.org/transfer%20none"><span class="acronym">transfer none</span></a>]</span></p>
</div>
<p class="since">Since: 2019.2</p>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-get-path"></a><h3>ostree_repo_get_path ()</h3>
<pre class="programlisting"><span class="returnvalue">GFile</span> *
ostree_repo_get_path (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>);</pre>
<p>Note that since the introduction of <a class="link" href="ostree-OstreeRepo.html#ostree-repo-open-at" title="ostree_repo_open_at ()"><code class="function">ostree_repo_open_at()</code></a>, this function may
return a process-specific path in <code class="literal">/proc</code> if the repository was created using
that API. In general, you should avoid use of this API.</p>
<div class="refsect3">
<a name="ostree-repo-get-path.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="ostree-repo-get-path.returns"></a><h4>Returns</h4>
<p>Path to repo. </p>
<p><span class="annotation">[<a href="http://foldoc.org/transfer%20none"><span class="acronym">transfer none</span></a>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-get-mode"></a><h3>ostree_repo_get_mode ()</h3>
<pre class="programlisting"><a class="link" href="ostree-OstreeRepo.html#OstreeRepoMode" title="enum OstreeRepoMode"><span class="returnvalue">OstreeRepoMode</span></a>
ostree_repo_get_mode (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>);</pre>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-get-min-free-space-bytes"></a><h3>ostree_repo_get_min_free_space_bytes ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_get_min_free_space_bytes (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                                      <em class="parameter"><code><span class="type">guint64</span> *out_reserved_bytes</code></em>,
                                      <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Determine the number of bytes of free disk space that are reserved according
to the repo config and return that number in <em class="parameter"><code>out_reserved_bytes</code></em>
. See the
documentation for the core.min-free-space-size and
core.min-free-space-percent repo config options.</p>
<div class="refsect3">
<a name="ostree-repo-get-min-free-space-bytes.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>out_reserved_bytes</p></td>
<td class="parameter_description"><p>Location to store the result. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Return location for a <span class="type">GError</span></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="ostree-repo-get-min-free-space-bytes.returns"></a><h4>Returns</h4>
<p> <code class="literal">TRUE</code> on success, <code class="literal">FALSE</code> otherwise.</p>
</div>
<p class="since">Since: 2018.9</p>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-get-config"></a><h3>ostree_repo_get_config ()</h3>
<pre class="programlisting"><span class="returnvalue">GKeyFile</span> *
ostree_repo_get_config (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>);</pre>
<div class="refsect3">
<a name="ostree-repo-get-config.returns"></a><h4>Returns</h4>
<p>The repository configuration; do not modify. </p>
<p><span class="annotation">[<a href="http://foldoc.org/transfer%20none"><span class="acronym">transfer none</span></a>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-get-dfd"></a><h3>ostree_repo_get_dfd ()</h3>
<pre class="programlisting"><span class="returnvalue">int</span>
ostree_repo_get_dfd (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>);</pre>
<p>In some cases it's useful for applications to access the repository
directly; for example, writing content into <code class="literal">repo/tmp</code> ensures it's
on the same filesystem.  Another case is detecting the mtime on the
repository (to see whether a ref was written).</p>
<div class="refsect3">
<a name="ostree-repo-get-dfd.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="ostree-repo-get-dfd.returns"></a><h4>Returns</h4>
<p> File descriptor for repository root - owned by <em class="parameter"><code>self</code></em>
</p>
</div>
<p class="since">Since: 2016.4</p>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-get-default-repo-finders"></a><h3>ostree_repo_get_default_repo_finders ()</h3>
<pre class="programlisting">const <span class="returnvalue">gchar</span> *const *
ostree_repo_get_default_repo_finders (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>);</pre>
<p>Get the set of default repo finders configured. See the documentation for
the "core.default-repo-finders" config key.</p>
<div class="refsect3">
<a name="ostree-repo-get-default-repo-finders.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>an <a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="ostree-repo-get-default-repo-finders.returns"></a><h4>Returns</h4>
<p><code class="literal">NULL</code>-terminated array of strings. </p>
<p><span class="annotation">[<a href="http://foldoc.org/array"><span class="acronym">array</span></a> zero-terminated=1][<a href="http://foldoc.org/element-type"><span class="acronym">element-type</span></a> utf8]</span></p>
</div>
<p class="since">Since: 2018.9</p>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-lock-pop"></a><h3>ostree_repo_lock_pop ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_lock_pop (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                      <em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepoLockType" title="enum OstreeRepoLockType"><span class="type">OstreeRepoLockType</span></a> lock_type</code></em>,
                      <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                      <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Release a lock of type <em class="parameter"><code>lock_type</code></em>
 from the lock state. If the lock state
becomes empty, the repository is unlocked. Otherwise, the lock state only
changes when transitioning from an exclusive lock back to a shared lock. The
requested <em class="parameter"><code>lock_type</code></em>
 must be the same type that was requested in the call to
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-lock-push" title="ostree_repo_lock_push ()"><code class="function">ostree_repo_lock_push()</code></a>. It is a programmer error if these do not match and
the program may abort if the lock would reach an invalid state.</p>
<p>ostree_repo_lock_pop() waits for the lock depending on the repository's
lock-timeout-secs configuration. When lock-timeout-secs is -1, a blocking lock is
attempted. Otherwise, the lock is removed non-blocking and
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-lock-pop" title="ostree_repo_lock_pop ()"><code class="function">ostree_repo_lock_pop()</code></a> will sleep synchronously up to lock-timeout-secs seconds
attempting to remove the lock. If the lock cannot be removed within the
timeout, a <code class="literal">G_IO_ERROR_WOULD_BLOCK</code> error is returned.</p>
<p>If <em class="parameter"><code>self</code></em>
 is not writable by the user, then no unlocking is attempted and
<code class="literal">TRUE</code> is returned.</p>
<div class="refsect3">
<a name="ostree-repo-lock-pop.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>a <a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>lock_type</p></td>
<td class="parameter_description"><p>the type of lock to release</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>a <span class="type">GCancellable</span></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>a <span class="type">GError</span></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="ostree-repo-lock-pop.returns"></a><h4>Returns</h4>
<p> <code class="literal">TRUE</code> on success, otherwise <code class="literal">FALSE</code> with <em class="parameter"><code>error</code></em>
set</p>
</div>
<p class="since">Since: 2021.3</p>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-lock-push"></a><h3>ostree_repo_lock_push ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_lock_push (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                       <em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepoLockType" title="enum OstreeRepoLockType"><span class="type">OstreeRepoLockType</span></a> lock_type</code></em>,
                       <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                       <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Takes a lock on the repository and adds it to the lock state. If <em class="parameter"><code>lock_type</code></em>

is <a class="link" href="ostree-OstreeRepo.html#OSTREE-REPO-LOCK-SHARED:CAPS"><code class="literal">OSTREE_REPO_LOCK_SHARED</code></a>, a shared lock is taken. If <em class="parameter"><code>lock_type</code></em>
 is
<a class="link" href="ostree-OstreeRepo.html#OSTREE-REPO-LOCK-EXCLUSIVE:CAPS"><code class="literal">OSTREE_REPO_LOCK_EXCLUSIVE</code></a>, an exclusive lock is taken. The actual lock
state is only changed when locking a previously unlocked repository or
upgrading the lock from shared to exclusive. If the requested lock type is
unchanged or would represent a downgrade (exclusive to shared), the lock
state is not changed.</p>
<p>ostree_repo_lock_push() waits for the lock depending on the repository's
lock-timeout-secs configuration. When lock-timeout-secs is -1, a blocking lock is
attempted. Otherwise, the lock is taken non-blocking and
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-lock-push" title="ostree_repo_lock_push ()"><code class="function">ostree_repo_lock_push()</code></a> will sleep synchronously up to lock-timeout-secs seconds
attempting to acquire the lock. If the lock cannot be acquired within the
timeout, a <code class="literal">G_IO_ERROR_WOULD_BLOCK</code> error is returned.</p>
<p>If <em class="parameter"><code>self</code></em>
 is not writable by the user, then no locking is attempted and
<code class="literal">TRUE</code> is returned.</p>
<div class="refsect3">
<a name="ostree-repo-lock-push.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>a <a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>lock_type</p></td>
<td class="parameter_description"><p>the type of lock to acquire</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>a <span class="type">GCancellable</span></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>a <span class="type">GError</span></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="ostree-repo-lock-push.returns"></a><h4>Returns</h4>
<p> <code class="literal">TRUE</code> on success, otherwise <code class="literal">FALSE</code> with <em class="parameter"><code>error</code></em>
set</p>
</div>
<p class="since">Since: 2021.3</p>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-auto-lock-push"></a><h3>ostree_repo_auto_lock_push ()</h3>
<pre class="programlisting"><a class="link" href="ostree-OstreeRepo.html#OstreeRepoAutoLock" title="OstreeRepoAutoLock"><span class="returnvalue">OstreeRepoAutoLock</span></a> *
ostree_repo_auto_lock_push (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                            <em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepoLockType" title="enum OstreeRepoLockType"><span class="type">OstreeRepoLockType</span></a> lock_type</code></em>,
                            <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                            <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Like <a class="link" href="ostree-OstreeRepo.html#ostree-repo-lock-push" title="ostree_repo_lock_push ()"><code class="function">ostree_repo_lock_push()</code></a>, but for usage with <a class="link" href="ostree-OstreeRepo.html#OstreeRepoAutoLock" title="OstreeRepoAutoLock"><span class="type">OstreeRepoAutoLock</span></a>. The
intended usage is to declare the <a class="link" href="ostree-OstreeRepo.html#OstreeRepoAutoLock" title="OstreeRepoAutoLock"><span class="type">OstreeRepoAutoLock</span></a> with <code class="function">g_autoptr()</code> so
that <a class="link" href="ostree-OstreeRepo.html#ostree-repo-auto-lock-cleanup" title="ostree_repo_auto_lock_cleanup ()"><code class="function">ostree_repo_auto_lock_cleanup()</code></a> is called when it goes out of scope.
This will automatically release the lock if it was acquired successfully.</p>
<div class="informalexample">
  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
    <tbody>
      <tr>
        <td class="listing_lines" align="right"><pre>1
2
3
4</pre></td>
        <td class="listing_code"><pre class="programlisting"><span class="n">g_autoptr</span><span class="p">(</span><span class="n">OstreeRepoAutoLock</span><span class="p">)</span><span class="w"> </span><span class="n">lock</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nb">NULL</span><span class="p">;</span>
<span class="n">lock</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">ostree_repo_auto_lock_push</span><span class="w"> </span><span class="p">(</span><span class="n">repo</span><span class="p">,</span><span class="w"> </span><span class="n">lock_type</span><span class="p">,</span><span class="w"> </span><span class="n">cancellable</span><span class="p">,</span><span class="w"> </span><span class="n">error</span><span class="p">);</span>
<span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">lock</span><span class="p">)</span>
<span class="w">  </span><span class="k">return</span><span class="w"> </span><span class="n">FALSE</span><span class="p">;</span></pre></td>
      </tr>
    </tbody>
  </table>
</div>

<p></p>
<p><span class="annotation">[<a href="http://foldoc.org/skip"><span class="acronym">skip</span></a>]</span></p>
<div class="refsect3">
<a name="ostree-repo-auto-lock-push.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>a <a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>lock_type</p></td>
<td class="parameter_description"><p>the type of lock to acquire</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>a <span class="type">GCancellable</span></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>a <span class="type">GError</span></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="ostree-repo-auto-lock-push.returns"></a><h4>Returns</h4>
<p> <em class="parameter"><code>self</code></em>
on success, otherwise <code class="literal">NULL</code> with <em class="parameter"><code>error</code></em>
set</p>
</div>
<p class="since">Since: 2021.3</p>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-auto-lock-cleanup"></a><h3>ostree_repo_auto_lock_cleanup ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
ostree_repo_auto_lock_cleanup (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepoAutoLock" title="OstreeRepoAutoLock"><span class="type">OstreeRepoAutoLock</span></a> *lock</code></em>);</pre>
<p>A cleanup handler for use with <a class="link" href="ostree-OstreeRepo.html#ostree-repo-auto-lock-push" title="ostree_repo_auto_lock_push ()"><code class="function">ostree_repo_auto_lock_push()</code></a>. If <em class="parameter"><code>lock</code></em>
 is
not <code class="literal">NULL</code>, <a class="link" href="ostree-OstreeRepo.html#ostree-repo-lock-pop" title="ostree_repo_lock_pop ()"><code class="function">ostree_repo_lock_pop()</code></a> will be called on it. If
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-lock-pop" title="ostree_repo_lock_pop ()"><code class="function">ostree_repo_lock_pop()</code></a> fails, a critical warning will be emitted.</p>
<p><span class="annotation">[<a href="http://foldoc.org/skip"><span class="acronym">skip</span></a>]</span></p>
<div class="refsect3">
<a name="ostree-repo-auto-lock-cleanup.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>lock</p></td>
<td class="parameter_description"><p>a <a class="link" href="ostree-OstreeRepo.html#OstreeRepoAutoLock" title="OstreeRepoAutoLock"><span class="type">OstreeRepoAutoLock</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<p class="since">Since: 2021.3</p>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-hash"></a><h3>ostree_repo_hash ()</h3>
<pre class="programlisting"><span class="returnvalue">guint</span>
ostree_repo_hash (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>);</pre>
<p>Calculate a hash value for the given open repository, suitable for use when
putting it into a hash table. It is an error to call this on an <a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a>
which is not yet open, as a persistent hash value cannot be calculated until
the repository is open and the inode of its root directory has been loaded.</p>
<p>This function does no I/O.</p>
<div class="refsect3">
<a name="ostree-repo-hash.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>an <a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="ostree-repo-hash.returns"></a><h4>Returns</h4>
<p> hash value for the <a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a></p>
</div>
<p class="since">Since: 2017.12</p>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-equal"></a><h3>ostree_repo_equal ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_equal (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *a</code></em>,
                   <em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *b</code></em>);</pre>
<p>Check whether two opened repositories are the same on disk: if their root
directories are the same inode. If <em class="parameter"><code>a</code></em>
 or <em class="parameter"><code>b</code></em>
 are not open yet (due to
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-open" title="ostree_repo_open ()"><code class="function">ostree_repo_open()</code></a> not being called on them yet), <code class="literal">FALSE</code> will be returned.</p>
<div class="refsect3">
<a name="ostree-repo-equal.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>a</p></td>
<td class="parameter_description"><p>an <a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>b</p></td>
<td class="parameter_description"><p>an <a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="ostree-repo-equal.returns"></a><h4>Returns</h4>
<p> <code class="literal">TRUE</code> if <em class="parameter"><code>a</code></em>
and <em class="parameter"><code>b</code></em>
are the same repository on disk, <code class="literal">FALSE</code> otherwise</p>
</div>
<p class="since">Since: 2017.12</p>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-copy-config"></a><h3>ostree_repo_copy_config ()</h3>
<pre class="programlisting"><span class="returnvalue">GKeyFile</span> *
ostree_repo_copy_config (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>);</pre>
<div class="refsect3">
<a name="ostree-repo-copy-config.returns"></a><h4>Returns</h4>
<p>A newly-allocated copy of the repository config. </p>
<p><span class="annotation">[<a href="http://foldoc.org/transfer%20full"><span class="acronym">transfer full</span></a>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-remote-add"></a><h3>ostree_repo_remote_add ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_remote_add (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                        <em class="parameter"><code>const <span class="type">char</span> *name</code></em>,
                        <em class="parameter"><code>const <span class="type">char</span> *url</code></em>,
                        <em class="parameter"><code><span class="type">GVariant</span> *options</code></em>,
                        <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                        <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Create a new remote named <em class="parameter"><code>name</code></em>
 pointing to <em class="parameter"><code>url</code></em>
.  If <em class="parameter"><code>options</code></em>
 is
provided, then it will be mapped to <span class="type">GKeyFile</span> entries, where the
GVariant dictionary key is an option string, and the value is
mapped as follows:</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem"><p>s: <code class="function">g_key_file_set_string()</code></p></li>
<li class="listitem"><p>b: <code class="function">g_key_file_set_boolean()</code></p></li>
<li class="listitem"><p>as: <code class="function">g_key_file_set_string_list()</code></p></li>
</ul></div>
<div class="refsect3">
<a name="ostree-repo-remote-add.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>name</p></td>
<td class="parameter_description"><p>Name of remote</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>url</p></td>
<td class="parameter_description"><p>URL for remote (if URL begins with metalink=, it will be used as such). </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/allow-none"><span class="acronym">allow-none</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>options</p></td>
<td class="parameter_description"><p>GVariant of type a{sv}. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/allow-none"><span class="acronym">allow-none</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>Cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-remote-delete"></a><h3>ostree_repo_remote_delete ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_remote_delete (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                           <em class="parameter"><code>const <span class="type">char</span> *name</code></em>,
                           <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                           <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Delete the remote named <em class="parameter"><code>name</code></em>
.  It is an error if the provided
remote does not exist.</p>
<div class="refsect3">
<a name="ostree-repo-remote-delete.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>name</p></td>
<td class="parameter_description"><p>Name of remote</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>Cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-remote-change"></a><h3>ostree_repo_remote_change ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_remote_change (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                           <em class="parameter"><code><span class="type">GFile</span> *sysroot</code></em>,
                           <em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepoRemoteChange" title="enum OstreeRepoRemoteChange"><span class="type">OstreeRepoRemoteChange</span></a> changeop</code></em>,
                           <em class="parameter"><code>const <span class="type">char</span> *name</code></em>,
                           <em class="parameter"><code>const <span class="type">char</span> *url</code></em>,
                           <em class="parameter"><code><span class="type">GVariant</span> *options</code></em>,
                           <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                           <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>A combined function handling the equivalent of
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-remote-add" title="ostree_repo_remote_add ()"><code class="function">ostree_repo_remote_add()</code></a>, <a class="link" href="ostree-OstreeRepo.html#ostree-repo-remote-delete" title="ostree_repo_remote_delete ()"><code class="function">ostree_repo_remote_delete()</code></a>, with more
options.</p>
<div class="refsect3">
<a name="ostree-repo-remote-change.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>sysroot</p></td>
<td class="parameter_description"><p>System root. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/allow-none"><span class="acronym">allow-none</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>changeop</p></td>
<td class="parameter_description"><p>Operation to perform</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>name</p></td>
<td class="parameter_description"><p>Name of remote</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>url</p></td>
<td class="parameter_description"><p>URL for remote (if URL begins with metalink=, it will be used as such). </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/allow-none"><span class="acronym">allow-none</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>options</p></td>
<td class="parameter_description"><p>GVariant of type a{sv}. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/allow-none"><span class="acronym">allow-none</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>Cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-remote-list"></a><h3>ostree_repo_remote_list ()</h3>
<pre class="programlisting"><span class="returnvalue">char</span> **
ostree_repo_remote_list (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                         <em class="parameter"><code><span class="type">guint</span> *out_n_remotes</code></em>);</pre>
<p>List available remote names in an <a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a>.  Remote names are sorted
alphabetically.  If no remotes are available the function returns <code class="literal">NULL</code>.</p>
<div class="refsect3">
<a name="ostree-repo-remote-list.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>out_n_remotes</p></td>
<td class="parameter_description"><p>Number of remotes available. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>][<a href="http://foldoc.org/allow-none"><span class="acronym">allow-none</span></a>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="ostree-repo-remote-list.returns"></a><h4>Returns</h4>
<p>a <code class="literal">NULL</code>-terminated
array of remote names. </p>
<p><span class="annotation">[<a href="http://foldoc.org/array"><span class="acronym">array</span></a> length=out_n_remotes][<a href="http://foldoc.org/transfer%20full"><span class="acronym">transfer full</span></a>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-remote-list-collection-refs"></a><h3>ostree_repo_remote_list_collection_refs ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_remote_list_collection_refs
                               (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                                <em class="parameter"><code>const <span class="type">char</span> *remote_name</code></em>,
                                <em class="parameter"><code><span class="type">GHashTable</span> **out_all_refs</code></em>,
                                <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                                <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>List refs advertised by <em class="parameter"><code>remote_name</code></em>
, including refs which are part of
collections. If the repository at <em class="parameter"><code>remote_name</code></em>
 has a collection ID set, its
refs will be returned with that collection ID; otherwise, they will be returned
with a <code class="literal">NULL</code> collection ID in each <span class="type">OstreeCollectionRef</span> key in <em class="parameter"><code>out_all_refs</code></em>
.
Any refs for other collections stored in the repository will also be returned.
No filtering is performed.</p>
<div class="refsect3">
<a name="ostree-repo-remote-list-collection-refs.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>remote_name</p></td>
<td class="parameter_description"><p>Name of the remote.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>out_all_refs</p></td>
<td class="parameter_description"><p>Mapping from collection–ref to checksum. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>][<a href="http://foldoc.org/element-type"><span class="acronym">element-type</span></a> OstreeCollectionRef utf8][<a href="http://foldoc.org/transfer%20container"><span class="acronym">transfer container</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>Cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: 2018.6</p>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-remote-get-url"></a><h3>ostree_repo_remote_get_url ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_remote_get_url (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                            <em class="parameter"><code>const <span class="type">char</span> *name</code></em>,
                            <em class="parameter"><code><span class="type">char</span> **out_url</code></em>,
                            <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Return the URL of the remote named <em class="parameter"><code>name</code></em>
 through <em class="parameter"><code>out_url</code></em>
.  It is an
error if the provided remote does not exist.</p>
<div class="refsect3">
<a name="ostree-repo-remote-get-url.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>name</p></td>
<td class="parameter_description"><p>Name of remote</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>out_url</p></td>
<td class="parameter_description"><p>Remote's URL. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>][<a href="http://foldoc.org/optional"><span class="acronym">optional</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="ostree-repo-remote-get-url.returns"></a><h4>Returns</h4>
<p> <code class="literal">TRUE</code> on success, <code class="literal">FALSE</code> on failure</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-remote-get-gpg-verify"></a><h3>ostree_repo_remote_get_gpg_verify ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_remote_get_gpg_verify (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                                   <em class="parameter"><code>const <span class="type">char</span> *name</code></em>,
                                   <em class="parameter"><code><span class="type">gboolean</span> *out_gpg_verify</code></em>,
                                   <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Return whether GPG verification is enabled for the remote named <em class="parameter"><code>name</code></em>

through <em class="parameter"><code>out_gpg_verify</code></em>
.  It is an error if the provided remote does
not exist.</p>
<div class="refsect3">
<a name="ostree-repo-remote-get-gpg-verify.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>name</p></td>
<td class="parameter_description"><p>Name of remote</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>out_gpg_verify</p></td>
<td class="parameter_description"><p>Remote's GPG option. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>][<a href="http://foldoc.org/optional"><span class="acronym">optional</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="ostree-repo-remote-get-gpg-verify.returns"></a><h4>Returns</h4>
<p> <code class="literal">TRUE</code> on success, <code class="literal">FALSE</code> on failure</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-remote-get-gpg-verify-summary"></a><h3>ostree_repo_remote_get_gpg_verify_summary ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_remote_get_gpg_verify_summary
                               (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                                <em class="parameter"><code>const <span class="type">char</span> *name</code></em>,
                                <em class="parameter"><code><span class="type">gboolean</span> *out_gpg_verify_summary</code></em>,
                                <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Return whether GPG verification of the summary is enabled for the remote
named <em class="parameter"><code>name</code></em>
 through <em class="parameter"><code>out_gpg_verify_summary</code></em>
.  It is an error if the provided
remote does not exist.</p>
<div class="refsect3">
<a name="ostree-repo-remote-get-gpg-verify-summary.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>name</p></td>
<td class="parameter_description"><p>Name of remote</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>out_gpg_verify_summary</p></td>
<td class="parameter_description"><p>Remote's GPG option. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>][<a href="http://foldoc.org/allow-none"><span class="acronym">allow-none</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="ostree-repo-remote-get-gpg-verify-summary.returns"></a><h4>Returns</h4>
<p> <code class="literal">TRUE</code> on success, <code class="literal">FALSE</code> on failure</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-remote-get-gpg-keys"></a><h3>ostree_repo_remote_get_gpg_keys ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_remote_get_gpg_keys (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                                 <em class="parameter"><code>const <span class="type">char</span> *name</code></em>,
                                 <em class="parameter"><code>const <span class="type">char</span> *const *key_ids</code></em>,
                                 <em class="parameter"><code><span class="type">GPtrArray</span> **out_keys</code></em>,
                                 <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                                 <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Enumerate the trusted GPG keys for the remote <em class="parameter"><code>name</code></em>
. If <em class="parameter"><code>name</code></em>
 is
<code class="literal">NULL</code>, the global GPG keys will be returned. The keys will be
returned in the <em class="parameter"><code>out_keys</code></em>
 <span class="type">GPtrArray</span>. Each element in the array is a
<span class="type">GVariant</span> of format <code class="literal">OSTREE_GPG_KEY_GVARIANT_FORMAT</code>. The <em class="parameter"><code>key_ids</code></em>

array can be used to limit which keys are included. If <em class="parameter"><code>key_ids</code></em>
 is
<code class="literal">NULL</code>, then all keys are included.</p>
<div class="refsect3">
<a name="ostree-repo-remote-get-gpg-keys.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>an <a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>name</p></td>
<td class="parameter_description"><p>name of the remote or <code class="literal">NULL</code>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/nullable"><span class="acronym">nullable</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>key_ids</p></td>
<td class="parameter_description"><p>a <code class="literal">NULL</code>-terminated array of GPG key IDs to include, or <code class="literal">NULL</code>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/array"><span class="acronym">array</span></a> zero-terminated=1][<a href="http://foldoc.org/element-type"><span class="acronym">element-type</span></a> utf8][<a href="http://foldoc.org/nullable"><span class="acronym">nullable</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>out_keys</p></td>
<td class="parameter_description"><p>return location for a <span class="type">GPtrArray</span> of the remote's trusted GPG keys, or
<code class="literal">NULL</code>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>][<a href="http://foldoc.org/optional"><span class="acronym">optional</span></a>][<a href="http://foldoc.org/element-type"><span class="acronym">element-type</span></a> GVariant][<a href="http://foldoc.org/transfer%20container"><span class="acronym">transfer container</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>a <span class="type">GCancellable</span>, or <code class="literal">NULL</code>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/nullable"><span class="acronym">nullable</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>return location for a <span class="type">GError</span>, or <code class="literal">NULL</code></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="ostree-repo-remote-get-gpg-keys.returns"></a><h4>Returns</h4>
<p> <code class="literal">TRUE</code> if the GPG keys could be enumerated, <code class="literal">FALSE</code> otherwise</p>
</div>
<p class="since">Since: 2021.4</p>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-remote-gpg-import"></a><h3>ostree_repo_remote_gpg_import ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_remote_gpg_import (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                               <em class="parameter"><code>const <span class="type">char</span> *name</code></em>,
                               <em class="parameter"><code><span class="type">GInputStream</span> *source_stream</code></em>,
                               <em class="parameter"><code>const <span class="type">char</span> *const *key_ids</code></em>,
                               <em class="parameter"><code><span class="type">guint</span> *out_imported</code></em>,
                               <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                               <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Imports one or more GPG keys from the open <em class="parameter"><code>source_stream</code></em>
, or from the
user's personal keyring if <em class="parameter"><code>source_stream</code></em>
 is <code class="literal">NULL</code>.  The <em class="parameter"><code>key_ids</code></em>
 array
can optionally restrict which keys are imported.  If <em class="parameter"><code>key_ids</code></em>
 is <code class="literal">NULL</code>,
then all keys are imported.</p>
<p>The imported keys will be used to conduct GPG verification when pulling
from the remote named <em class="parameter"><code>name</code></em>
.</p>
<div class="refsect3">
<a name="ostree-repo-remote-gpg-import.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Self</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>name</p></td>
<td class="parameter_description"><p>name of a remote</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>source_stream</p></td>
<td class="parameter_description"><p>a <span class="type">GInputStream</span>, or <code class="literal">NULL</code>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/nullable"><span class="acronym">nullable</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>key_ids</p></td>
<td class="parameter_description"><p>a <code class="literal">NULL</code>-terminated array of
GPG key IDs, or <code class="literal">NULL</code>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/array"><span class="acronym">array</span></a> zero-terminated=1][<a href="http://foldoc.org/element-type"><span class="acronym">element-type</span></a> utf8][<a href="http://foldoc.org/nullable"><span class="acronym">nullable</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>out_imported</p></td>
<td class="parameter_description"><p>return location for the number of imported
keys, or <code class="literal">NULL</code>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>][<a href="http://foldoc.org/optional"><span class="acronym">optional</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>a <span class="type">GCancellable</span></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>a <span class="type">GError</span></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="ostree-repo-remote-gpg-import.returns"></a><h4>Returns</h4>
<p> <code class="literal">TRUE</code> on success, <code class="literal">FALSE</code> on failure</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-remote-fetch-summary"></a><h3>ostree_repo_remote_fetch_summary ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_remote_fetch_summary (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                                  <em class="parameter"><code>const <span class="type">char</span> *name</code></em>,
                                  <em class="parameter"><code><span class="type">GBytes</span> **out_summary</code></em>,
                                  <em class="parameter"><code><span class="type">GBytes</span> **out_signatures</code></em>,
                                  <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                                  <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Tries to fetch the summary file and any GPG signatures on the summary file
over HTTP, and returns the binary data in <em class="parameter"><code>out_summary</code></em>
 and <em class="parameter"><code>out_signatures</code></em>

respectively.</p>
<p>If no summary file exists on the remote server, <em class="parameter"><code>out_summary</code></em>
 is set to
<em class="parameter"><code>NULL</code></em>
.  Likewise if the summary file is not signed, <em class="parameter"><code>out_signatures</code></em>
 is
set to <em class="parameter"><code>NULL</code></em>
.  In either case the function still returns <code class="literal">TRUE</code>.</p>
<p>This method does not verify the signature of the downloaded summary file.
Use <a class="link" href="ostree-OstreeRepo.html#ostree-repo-verify-summary" title="ostree_repo_verify_summary ()"><code class="function">ostree_repo_verify_summary()</code></a> for that.</p>
<p>Parse the summary data into a <span class="type">GVariant</span> using <code class="function">g_variant_new_from_bytes()</code>
with <a class="link" href="ostree-Core-repository-independent-functions.html#OSTREE-SUMMARY-GVARIANT-FORMAT:CAPS" title="OSTREE_SUMMARY_GVARIANT_FORMAT"><span class="type">OSTREE_SUMMARY_GVARIANT_FORMAT</span></a> as the format string.</p>
<div class="refsect3">
<a name="ostree-repo-remote-fetch-summary.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Self</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>name</p></td>
<td class="parameter_description"><p>name of a remote</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>out_summary</p></td>
<td class="parameter_description"><p>return location for raw summary data, or
<code class="literal">NULL</code>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>][<a href="http://foldoc.org/optional"><span class="acronym">optional</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>out_signatures</p></td>
<td class="parameter_description"><p>return location for raw summary
signature data, or <code class="literal">NULL</code>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>][<a href="http://foldoc.org/optional"><span class="acronym">optional</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>a <span class="type">GCancellable</span></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>a <span class="type">GError</span></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="ostree-repo-remote-fetch-summary.returns"></a><h4>Returns</h4>
<p> <code class="literal">TRUE</code> on success, <code class="literal">FALSE</code> on failure</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-remote-fetch-summary-with-options"></a><h3>ostree_repo_remote_fetch_summary_with_options ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_remote_fetch_summary_with_options
                               (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                                <em class="parameter"><code>const <span class="type">char</span> *name</code></em>,
                                <em class="parameter"><code><span class="type">GVariant</span> *options</code></em>,
                                <em class="parameter"><code><span class="type">GBytes</span> **out_summary</code></em>,
                                <em class="parameter"><code><span class="type">GBytes</span> **out_signatures</code></em>,
                                <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                                <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Like <a class="link" href="ostree-OstreeRepo.html#ostree-repo-remote-fetch-summary" title="ostree_repo_remote_fetch_summary ()"><code class="function">ostree_repo_remote_fetch_summary()</code></a>, but supports an extensible set of flags.
The following are currently defined:</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem"><p>override-url (s): Fetch summary from this URL if remote specifies no metalink in options</p></li>
<li class="listitem"><p>http-headers (a(ss)): Additional headers to add to all HTTP requests</p></li>
<li class="listitem"><p>append-user-agent (s): Additional string to append to the user agent</p></li>
<li class="listitem"><p>n-network-retries (u): Number of times to retry each download on receiving
a transient network error, such as a socket timeout; default is 5, 0
means return errors without retrying</p></li>
</ul></div>
<div class="refsect3">
<a name="ostree-repo-remote-fetch-summary-with-options.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Self</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>name</p></td>
<td class="parameter_description"><p>name of a remote</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>options</p></td>
<td class="parameter_description"><p>A GVariant a{sv} with an extensible set of flags. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/nullable"><span class="acronym">nullable</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>out_summary</p></td>
<td class="parameter_description"><p>return location for raw summary data, or <code class="literal">NULL</code>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>][<a href="http://foldoc.org/optional"><span class="acronym">optional</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>out_signatures</p></td>
<td class="parameter_description"><p>return location for raw summary signature
data, or <code class="literal">NULL</code>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>][<a href="http://foldoc.org/optional"><span class="acronym">optional</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>a <span class="type">GCancellable</span></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>a <span class="type">GError</span></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="ostree-repo-remote-fetch-summary-with-options.returns"></a><h4>Returns</h4>
<p> <code class="literal">TRUE</code> on success, <code class="literal">FALSE</code> on failure</p>
</div>
<p class="since">Since: 2016.6</p>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-reload-config"></a><h3>ostree_repo_reload_config ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_reload_config (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                           <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                           <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>By default, an <a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> will cache the remote configuration and its
own repo/config data.  This API can be used to reload it.</p>
<div class="refsect3">
<a name="ostree-repo-reload-config.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: 2017.2</p>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-get-remote-boolean-option"></a><h3>ostree_repo_get_remote_boolean_option ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_get_remote_boolean_option (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                                       <em class="parameter"><code>const <span class="type">char</span> *remote_name</code></em>,
                                       <em class="parameter"><code>const <span class="type">char</span> *option_name</code></em>,
                                       <em class="parameter"><code><span class="type">gboolean</span> default_value</code></em>,
                                       <em class="parameter"><code><span class="type">gboolean</span> *out_value</code></em>,
                                       <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>OSTree remotes are represented by keyfile groups, formatted like:
<code class="literal">[remote "remotename"]</code>. This function returns a value named <em class="parameter"><code>option_name</code></em>

underneath that group, and returns it as a boolean.
If the option is not set, <em class="parameter"><code>out_value</code></em>
 will be set to <em class="parameter"><code>default_value</code></em>
. If an
error is returned, <em class="parameter"><code>out_value</code></em>
 will be set to <code class="literal">FALSE</code>.</p>
<div class="refsect3">
<a name="ostree-repo-get-remote-boolean-option.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>A OstreeRepo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>remote_name</p></td>
<td class="parameter_description"><p>Name</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>option_name</p></td>
<td class="parameter_description"><p>Option</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>default_value</p></td>
<td class="parameter_description"><p>Value returned if <em class="parameter"><code>option_name</code></em>
is not present</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>out_value</p></td>
<td class="parameter_description"><p>(out) : location to store the result.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="ostree-repo-get-remote-boolean-option.returns"></a><h4>Returns</h4>
<p> <code class="literal">TRUE</code> on success, otherwise <code class="literal">FALSE</code> with <em class="parameter"><code>error</code></em>
set</p>
</div>
<p class="since">Since: 2016.5</p>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-get-remote-list-option"></a><h3>ostree_repo_get_remote_list_option ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_get_remote_list_option (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                                    <em class="parameter"><code>const <span class="type">char</span> *remote_name</code></em>,
                                    <em class="parameter"><code>const <span class="type">char</span> *option_name</code></em>,
                                    <em class="parameter"><code><span class="type">char</span> ***out_value</code></em>,
                                    <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>OSTree remotes are represented by keyfile groups, formatted like:
<code class="literal">[remote "remotename"]</code>. This function returns a value named <em class="parameter"><code>option_name</code></em>

underneath that group, and returns it as a zero terminated array of strings.
If the option is not set, or if an error is returned, <em class="parameter"><code>out_value</code></em>
 will be set
to <code class="literal">NULL</code>.</p>
<div class="refsect3">
<a name="ostree-repo-get-remote-list-option.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>A OstreeRepo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>remote_name</p></td>
<td class="parameter_description"><p>Name</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>option_name</p></td>
<td class="parameter_description"><p>Option</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>out_value</p></td>
<td class="parameter_description"><p>location to store the list
of strings. The list should be freed with
<code class="function">g_strfreev()</code>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>][<a href="http://foldoc.org/array"><span class="acronym">array</span></a> zero-terminated=1]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="ostree-repo-get-remote-list-option.returns"></a><h4>Returns</h4>
<p> <code class="literal">TRUE</code> on success, otherwise <code class="literal">FALSE</code> with <em class="parameter"><code>error</code></em>
set</p>
</div>
<p class="since">Since: 2016.5</p>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-get-remote-option"></a><h3>ostree_repo_get_remote_option ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_get_remote_option (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                               <em class="parameter"><code>const <span class="type">char</span> *remote_name</code></em>,
                               <em class="parameter"><code>const <span class="type">char</span> *option_name</code></em>,
                               <em class="parameter"><code>const <span class="type">char</span> *default_value</code></em>,
                               <em class="parameter"><code><span class="type">char</span> **out_value</code></em>,
                               <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>OSTree remotes are represented by keyfile groups, formatted like:
<code class="literal">[remote "remotename"]</code>. This function returns a value named <em class="parameter"><code>option_name</code></em>

underneath that group, or <em class="parameter"><code>default_value</code></em>
 if the remote exists but not the
option name.  If an error is returned, <em class="parameter"><code>out_value</code></em>
 will be set to <code class="literal">NULL</code>.</p>
<div class="refsect3">
<a name="ostree-repo-get-remote-option.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>A OstreeRepo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>remote_name</p></td>
<td class="parameter_description"><p>Name</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>option_name</p></td>
<td class="parameter_description"><p>Option</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>default_value</p></td>
<td class="parameter_description"><p>Value returned if <em class="parameter"><code>option_name</code></em>
is not present. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/nullable"><span class="acronym">nullable</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>out_value</p></td>
<td class="parameter_description"><p>Return location for value. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>][<a href="http://foldoc.org/nullable"><span class="acronym">nullable</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="ostree-repo-get-remote-option.returns"></a><h4>Returns</h4>
<p> <code class="literal">TRUE</code> on success, otherwise <code class="literal">FALSE</code> with <em class="parameter"><code>error</code></em>
set</p>
</div>
<p class="since">Since: 2016.5</p>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-get-parent"></a><h3>ostree_repo_get_parent ()</h3>
<pre class="programlisting"><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="returnvalue">OstreeRepo</span></a> *
ostree_repo_get_parent (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>);</pre>
<p>Before this function can be used, <code class="function">ostree_repo_init()</code> must have been
called.</p>
<div class="refsect3">
<a name="ostree-repo-get-parent.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="ostree-repo-get-parent.returns"></a><h4>Returns</h4>
<p>Parent repository, or <code class="literal">NULL</code> if none. </p>
<p><span class="annotation">[<a href="http://foldoc.org/transfer%20none"><span class="acronym">transfer none</span></a>][<a href="http://foldoc.org/nullable"><span class="acronym">nullable</span></a>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-write-config"></a><h3>ostree_repo_write_config ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_write_config (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                          <em class="parameter"><code><span class="type">GKeyFile</span> *new_config</code></em>,
                          <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Save <em class="parameter"><code>new_config</code></em>
 in place of this repository's config file.</p>
<div class="refsect3">
<a name="ostree-repo-write-config.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>new_config</p></td>
<td class="parameter_description"><p>Overwrite the config file with this data</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>a <span class="type">GError</span></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-scan-hardlinks"></a><h3>ostree_repo_scan_hardlinks ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_scan_hardlinks (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                            <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                            <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>This function is deprecated in favor of using <a class="link" href="ostree-OstreeRepo.html#ostree-repo-devino-cache-new" title="ostree_repo_devino_cache_new ()"><code class="function">ostree_repo_devino_cache_new()</code></a>,
which allows a precise mapping to be built up between hardlink checkout files
and their checksums between <code class="literal"><a class="link" href="ostree-OstreeRepo.html#ostree-repo-checkout-at" title="ostree_repo_checkout_at ()"><code class="function">ostree_repo_checkout_at()</code></a></code> and
<code class="literal"><a class="link" href="ostree-OstreeRepo.html#ostree-repo-write-directory-to-mtree" title="ostree_repo_write_directory_to_mtree ()"><code class="function">ostree_repo_write_directory_to_mtree()</code></a></code>.</p>
<p>When invoking <a class="link" href="ostree-OstreeRepo.html#ostree-repo-write-directory-to-mtree" title="ostree_repo_write_directory_to_mtree ()"><code class="function">ostree_repo_write_directory_to_mtree()</code></a>, it has to compute the
checksum of all files. If your commit contains hardlinks from a checkout,
this functions builds a mapping of device numbers and inodes to their
checksum.</p>
<p>There is an upfront cost to creating this mapping, as this will scan the
entire objects directory. If your commit is composed of mostly hardlinks to
existing ostree objects, then this will speed up considerably, so call it
before you call <a class="link" href="ostree-OstreeRepo.html#ostree-repo-write-directory-to-mtree" title="ostree_repo_write_directory_to_mtree ()"><code class="function">ostree_repo_write_directory_to_mtree()</code></a> or similar.  However,
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-devino-cache-new" title="ostree_repo_devino_cache_new ()"><code class="function">ostree_repo_devino_cache_new()</code></a> is better as it avoids scanning all objects.</p>
<p>Multithreading: This function is *not* MT safe.</p>
<div class="refsect3">
<a name="ostree-repo-scan-hardlinks.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>An <a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>Cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-prepare-transaction"></a><h3>ostree_repo_prepare_transaction ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_prepare_transaction (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                                 <em class="parameter"><code><span class="type">gboolean</span> *out_transaction_resume</code></em>,
                                 <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                                 <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Starts or resumes a transaction. In order to write to a repo, you
need to start a transaction. You can complete the transaction with
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-commit-transaction" title="ostree_repo_commit_transaction ()"><code class="function">ostree_repo_commit_transaction()</code></a>, or abort the transaction with
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-abort-transaction" title="ostree_repo_abort_transaction ()"><code class="function">ostree_repo_abort_transaction()</code></a>.</p>
<p>Currently, transactions may result in partial commits or data in the target
repository if interrupted during <a class="link" href="ostree-OstreeRepo.html#ostree-repo-commit-transaction" title="ostree_repo_commit_transaction ()"><code class="function">ostree_repo_commit_transaction()</code></a>, and
further writing refs is also not currently atomic.</p>
<p>There can be at most one transaction active on a repo at a time per instance
of <code class="literal">OstreeRepo</code>; however, it is safe to have multiple threads writing objects
on a single <code class="literal">OstreeRepo</code> instance as long as their lifetime is bounded by the
transaction.</p>
<p>Locking: Acquires a <code class="literal">shared</code> lock; release via commit or abort
Multithreading: This function is *not* MT safe; only one transaction can be
active at a time.</p>
<div class="refsect3">
<a name="ostree-repo-prepare-transaction.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>An <a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>out_transaction_resume</p></td>
<td class="parameter_description"><p>Whether this transaction
is resuming from a previous one.  This is a legacy state, now OSTree
pulls use per-commit <code class="literal">state/.commitpartial</code> files. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/allow-none"><span class="acronym">allow-none</span></a>][<a href="http://foldoc.org/out"><span class="acronym">out</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>Cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-commit-transaction"></a><h3>ostree_repo_commit_transaction ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_commit_transaction (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                                <em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepoTransactionStats" title="struct OstreeRepoTransactionStats"><span class="type">OstreeRepoTransactionStats</span></a> *out_stats</code></em>,
                                <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                                <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Complete the transaction. Any refs set with
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-transaction-set-ref" title="ostree_repo_transaction_set_ref ()"><code class="function">ostree_repo_transaction_set_ref()</code></a> or
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-transaction-set-refspec" title="ostree_repo_transaction_set_refspec ()"><code class="function">ostree_repo_transaction_set_refspec()</code></a> will be written out.</p>
<p>Note that if multiple threads are performing writes, all such threads must
have terminated before this function is invoked.</p>
<p>Locking: Releases <code class="literal">shared</code> lock acquired by <code class="literal"><a class="link" href="ostree-OstreeRepo.html#ostree-repo-prepare-transaction" title="ostree_repo_prepare_transaction ()"><code class="function">ostree_repo_prepare_transaction()</code></a></code>
Multithreading: This function is *not* MT safe; only one transaction can be
active at a time.</p>
<div class="refsect3">
<a name="ostree-repo-commit-transaction.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>An <a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>out_stats</p></td>
<td class="parameter_description"><p>A set of statistics of things
that happened during this transaction. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/allow-none"><span class="acronym">allow-none</span></a>][<a href="http://foldoc.org/out"><span class="acronym">out</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>Cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-abort-transaction"></a><h3>ostree_repo_abort_transaction ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_abort_transaction (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                               <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                               <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Abort the active transaction; any staged objects and ref changes will be
discarded. You *must* invoke this if you have chosen not to invoke
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-commit-transaction" title="ostree_repo_commit_transaction ()"><code class="function">ostree_repo_commit_transaction()</code></a>. Calling this function when not in a
transaction will do nothing and return successfully.</p>
<div class="refsect3">
<a name="ostree-repo-abort-transaction.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>An <a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>Cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-transaction-set-refspec"></a><h3>ostree_repo_transaction_set_refspec ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
ostree_repo_transaction_set_refspec (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                                     <em class="parameter"><code>const <span class="type">char</span> *refspec</code></em>,
                                     <em class="parameter"><code>const <span class="type">char</span> *checksum</code></em>);</pre>
<p>Like <a class="link" href="ostree-OstreeRepo.html#ostree-repo-transaction-set-ref" title="ostree_repo_transaction_set_ref ()"><code class="function">ostree_repo_transaction_set_ref()</code></a>, but takes concatenated
<em class="parameter"><code>refspec</code></em>
 format as input instead of separate remote and name
arguments.</p>
<p>Multithreading: Since v2017.15 this function is MT safe.</p>
<div class="refsect3">
<a name="ostree-repo-transaction-set-refspec.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>An <a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>refspec</p></td>
<td class="parameter_description"><p>The refspec to write</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>checksum</p></td>
<td class="parameter_description"><p>The checksum to point it to. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/nullable"><span class="acronym">nullable</span></a>]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-transaction-set-collection-ref"></a><h3>ostree_repo_transaction_set_collection_ref ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
ostree_repo_transaction_set_collection_ref
                               (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                                <em class="parameter"><code>const <span class="type">OstreeCollectionRef</span> *ref</code></em>,
                                <em class="parameter"><code>const <span class="type">char</span> *checksum</code></em>);</pre>
<p>If <em class="parameter"><code>checksum</code></em>
 is not <code class="literal">NULL</code>, then record it as the target of local ref named
<em class="parameter"><code>ref</code></em>
.</p>
<p>Otherwise, if <em class="parameter"><code>checksum</code></em>
 is <code class="literal">NULL</code>, then record that the ref should
be deleted.</p>
<p>The change will not be written out immediately, but when the transaction
is completed with <a class="link" href="ostree-OstreeRepo.html#ostree-repo-commit-transaction" title="ostree_repo_commit_transaction ()"><code class="function">ostree_repo_commit_transaction()</code></a>. If the transaction
is instead aborted with <a class="link" href="ostree-OstreeRepo.html#ostree-repo-abort-transaction" title="ostree_repo_abort_transaction ()"><code class="function">ostree_repo_abort_transaction()</code></a>, no changes will
be made to the repository.</p>
<p>Multithreading: Since v2017.15 this function is MT safe.</p>
<div class="refsect3">
<a name="ostree-repo-transaction-set-collection-ref.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>An <a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>ref</p></td>
<td class="parameter_description"><p>The collection–ref to write</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>checksum</p></td>
<td class="parameter_description"><p>The checksum to point it to. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/nullable"><span class="acronym">nullable</span></a>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: 2018.6</p>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-transaction-set-ref"></a><h3>ostree_repo_transaction_set_ref ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
ostree_repo_transaction_set_ref (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                                 <em class="parameter"><code>const <span class="type">char</span> *remote</code></em>,
                                 <em class="parameter"><code>const <span class="type">char</span> *ref</code></em>,
                                 <em class="parameter"><code>const <span class="type">char</span> *checksum</code></em>);</pre>
<p>If <em class="parameter"><code>checksum</code></em>
 is not <code class="literal">NULL</code>, then record it as the target of ref named
<em class="parameter"><code>ref</code></em>
; if <em class="parameter"><code>remote</code></em>
 is provided, the ref will appear to originate from that
remote.</p>
<p>Otherwise, if <em class="parameter"><code>checksum</code></em>
 is <code class="literal">NULL</code>, then record that the ref should
be deleted.</p>
<p>The change will be written when the transaction is completed with
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-commit-transaction" title="ostree_repo_commit_transaction ()"><code class="function">ostree_repo_commit_transaction()</code></a>; that function takes care of writing all of
the objects (such as the commit referred to by <em class="parameter"><code>checksum</code></em>
) before updating the
refs. If the transaction is instead aborted with
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-abort-transaction" title="ostree_repo_abort_transaction ()"><code class="function">ostree_repo_abort_transaction()</code></a>, no changes to the ref will be made to the
repository.</p>
<p>Note however that currently writing *multiple* refs is not truly atomic; if
the process or system is terminated during
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-commit-transaction" title="ostree_repo_commit_transaction ()"><code class="function">ostree_repo_commit_transaction()</code></a>, it is possible that just some of the refs
will have been updated. Your application should take care to handle this
case.</p>
<p>Multithreading: Since v2017.15 this function is MT safe.</p>
<div class="refsect3">
<a name="ostree-repo-transaction-set-ref.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>An <a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>remote</p></td>
<td class="parameter_description"><p>A remote for the ref. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/allow-none"><span class="acronym">allow-none</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>ref</p></td>
<td class="parameter_description"><p>The ref to write</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>checksum</p></td>
<td class="parameter_description"><p>The checksum to point it to. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/nullable"><span class="acronym">nullable</span></a>]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-set-ref-immediate"></a><h3>ostree_repo_set_ref_immediate ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_set_ref_immediate (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                               <em class="parameter"><code>const <span class="type">char</span> *remote</code></em>,
                               <em class="parameter"><code>const <span class="type">char</span> *ref</code></em>,
                               <em class="parameter"><code>const <span class="type">char</span> *checksum</code></em>,
                               <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                               <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>This is like <a class="link" href="ostree-OstreeRepo.html#ostree-repo-transaction-set-ref" title="ostree_repo_transaction_set_ref ()"><code class="function">ostree_repo_transaction_set_ref()</code></a>, except it may be
invoked outside of a transaction.  This is presently safe for the
case where we're creating or overwriting an existing ref.</p>
<p>Multithreading: This function is MT safe.</p>
<div class="refsect3">
<a name="ostree-repo-set-ref-immediate.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>An <a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>remote</p></td>
<td class="parameter_description"><p>A remote for the ref. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/allow-none"><span class="acronym">allow-none</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>ref</p></td>
<td class="parameter_description"><p>The ref to write</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>checksum</p></td>
<td class="parameter_description"><p>The checksum to point it to, or <code class="literal">NULL</code> to unset. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/allow-none"><span class="acronym">allow-none</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>GCancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>GError</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-set-alias-ref-immediate"></a><h3>ostree_repo_set_alias_ref_immediate ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_set_alias_ref_immediate (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                                     <em class="parameter"><code>const <span class="type">char</span> *remote</code></em>,
                                     <em class="parameter"><code>const <span class="type">char</span> *ref</code></em>,
                                     <em class="parameter"><code>const <span class="type">char</span> *target</code></em>,
                                     <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                                     <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Like <a class="link" href="ostree-OstreeRepo.html#ostree-repo-set-ref-immediate" title="ostree_repo_set_ref_immediate ()"><code class="function">ostree_repo_set_ref_immediate()</code></a>, but creates an alias.</p>
<div class="refsect3">
<a name="ostree-repo-set-alias-ref-immediate.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>An <a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>remote</p></td>
<td class="parameter_description"><p>A remote for the ref. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/allow-none"><span class="acronym">allow-none</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>ref</p></td>
<td class="parameter_description"><p>The ref to write</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>target</p></td>
<td class="parameter_description"><p>The ref target to point it to, or <code class="literal">NULL</code> to unset. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/allow-none"><span class="acronym">allow-none</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>GCancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>GError</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: 2017.10</p>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-set-cache-dir"></a><h3>ostree_repo_set_cache_dir ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_set_cache_dir (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                           <em class="parameter"><code><span class="type">int</span> dfd</code></em>,
                           <em class="parameter"><code>const <span class="type">char</span> *path</code></em>,
                           <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                           <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Set a custom location for the cache directory used for e.g.
per-remote summary caches. Setting this manually is useful when
doing operations on a system repo as a user because you don't have
write permissions in the repo, where the cache is normally stored.</p>
<div class="refsect3">
<a name="ostree-repo-set-cache-dir.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>An <a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>dfd</p></td>
<td class="parameter_description"><p>directory fd</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>path</p></td>
<td class="parameter_description"><p>subpath in <em class="parameter"><code>dfd</code></em>
</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>a <span class="type">GCancellable</span></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>a <span class="type">GError</span></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: 2016.5</p>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-set-collection-id"></a><h3>ostree_repo_set_collection_id ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_set_collection_id (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                               <em class="parameter"><code>const <span class="type">gchar</span> *collection_id</code></em>,
                               <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Set or clear the collection ID of this repository. See collection IDs.
The update will be made in memory, but must be written out to the repository
configuration on disk using <a class="link" href="ostree-OstreeRepo.html#ostree-repo-write-config" title="ostree_repo_write_config ()"><code class="function">ostree_repo_write_config()</code></a>.</p>
<div class="refsect3">
<a name="ostree-repo-set-collection-id.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>an <a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>collection_id</p></td>
<td class="parameter_description"><p>new collection ID, or <code class="literal">NULL</code> to unset it. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/nullable"><span class="acronym">nullable</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>return location for a <span class="type">GError</span>, or <code class="literal">NULL</code></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="ostree-repo-set-collection-id.returns"></a><h4>Returns</h4>
<p> <code class="literal">TRUE</code> on success, <code class="literal">FALSE</code> otherwise</p>
</div>
<p class="since">Since: 2018.6</p>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-set-collection-ref-immediate"></a><h3>ostree_repo_set_collection_ref_immediate ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_set_collection_ref_immediate
                               (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                                <em class="parameter"><code>const <span class="type">OstreeCollectionRef</span> *ref</code></em>,
                                <em class="parameter"><code>const <span class="type">char</span> *checksum</code></em>,
                                <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                                <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>This is like <a class="link" href="ostree-OstreeRepo.html#ostree-repo-transaction-set-collection-ref" title="ostree_repo_transaction_set_collection_ref ()"><code class="function">ostree_repo_transaction_set_collection_ref()</code></a>, except it may be
invoked outside of a transaction.  This is presently safe for the
case where we're creating or overwriting an existing ref.</p>
<div class="refsect3">
<a name="ostree-repo-set-collection-ref-immediate.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>An <a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>ref</p></td>
<td class="parameter_description"><p>The collection–ref to write</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>checksum</p></td>
<td class="parameter_description"><p>The checksum to point it to, or <code class="literal">NULL</code> to unset. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/nullable"><span class="acronym">nullable</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>GCancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>GError</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="ostree-repo-set-collection-ref-immediate.returns"></a><h4>Returns</h4>
<p> <code class="literal">TRUE</code> on success, <code class="literal">FALSE</code> otherwise</p>
</div>
<p class="since">Since: 2018.6</p>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-sign-delta"></a><h3>ostree_repo_sign_delta ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_sign_delta (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                        <em class="parameter"><code>const <span class="type">gchar</span> *from_commit</code></em>,
                        <em class="parameter"><code>const <span class="type">gchar</span> *to_commit</code></em>,
                        <em class="parameter"><code>const <span class="type">gchar</span> *key_id</code></em>,
                        <em class="parameter"><code>const <span class="type">gchar</span> *homedir</code></em>,
                        <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                        <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>This function is deprecated, sign the summary file instead.
Add a GPG signature to a static delta.</p>
<div class="refsect3">
<a name="ostree-repo-sign-delta.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Self</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>from_commit</p></td>
<td class="parameter_description"><p>From commit</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>to_commit</p></td>
<td class="parameter_description"><p>To commit</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>key_id</p></td>
<td class="parameter_description"><p>key id</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>homedir</p></td>
<td class="parameter_description"><p>homedir</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-has-object"></a><h3>ostree_repo_has_object ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_has_object (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                        <em class="parameter"><code><a class="link" href="ostree-Core-repository-independent-functions.html#OstreeObjectType" title="enum OstreeObjectType"><span class="type">OstreeObjectType</span></a> objtype</code></em>,
                        <em class="parameter"><code>const <span class="type">char</span> *checksum</code></em>,
                        <em class="parameter"><code><span class="type">gboolean</span> *out_have_object</code></em>,
                        <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                        <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Set <em class="parameter"><code>out_have_object</code></em>
 to <code class="literal">TRUE</code> if <em class="parameter"><code>self</code></em>
 contains the given object;
<code class="literal">FALSE</code> otherwise.</p>
<div class="refsect3">
<a name="ostree-repo-has-object.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>objtype</p></td>
<td class="parameter_description"><p>Object type</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>checksum</p></td>
<td class="parameter_description"><p>ASCII SHA256 checksum</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>out_have_object</p></td>
<td class="parameter_description"><p><code class="literal">TRUE</code> if repository contains object. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>Cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="ostree-repo-has-object.returns"></a><h4>Returns</h4>
<p> <code class="literal">FALSE</code> if an unexpected error occurred, <code class="literal">TRUE</code> otherwise</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-mark-commit-partial"></a><h3>ostree_repo_mark_commit_partial ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_mark_commit_partial (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                                 <em class="parameter"><code>const <span class="type">char</span> *checksum</code></em>,
                                 <em class="parameter"><code><span class="type">gboolean</span> is_partial</code></em>,
                                 <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Commits in the "partial" state do not have all their child objects
written.  This occurs in various situations, such as during a pull,
but also if a "subpath" pull is used, as well as "commit only"
pulls.</p>
<p>This function is used by <a class="link" href="ostree-OstreeRepo.html#ostree-repo-pull-with-options" title="ostree_repo_pull_with_options ()"><code class="function">ostree_repo_pull_with_options()</code></a>; you
should use this if you are implementing a different type of transport.</p>
<div class="refsect3">
<a name="ostree-repo-mark-commit-partial.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>checksum</p></td>
<td class="parameter_description"><p>Commit SHA-256</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>is_partial</p></td>
<td class="parameter_description"><p>Whether or not this commit is partial</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: 2017.15</p>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-mark-commit-partial-reason"></a><h3>ostree_repo_mark_commit_partial_reason ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_mark_commit_partial_reason
                               (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                                <em class="parameter"><code>const <span class="type">char</span> *checksum</code></em>,
                                <em class="parameter"><code><span class="type">gboolean</span> is_partial</code></em>,
                                <em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepoCommitState" title="enum OstreeRepoCommitState"><span class="type">OstreeRepoCommitState</span></a> in_state</code></em>,
                                <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Allows the setting of a reason code for a partial commit. Presently
it only supports setting reason bitmask to
OSTREE_REPO_COMMIT_STATE_FSCK_PARTIAL, or
OSTREE_REPO_COMMIT_STATE_NORMAL.  This will allow successive ostree
fsck operations to exit properly with an error code if the
repository has been truncated as a result of fsck trying to repair
it.</p>
<div class="refsect3">
<a name="ostree-repo-mark-commit-partial-reason.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>checksum</p></td>
<td class="parameter_description"><p>Commit SHA-256</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>is_partial</p></td>
<td class="parameter_description"><p>Whether or not this commit is partial</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>in_state</p></td>
<td class="parameter_description"><p>Reason bitmask for partial commit</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: 2019.4</p>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-write-metadata"></a><h3>ostree_repo_write_metadata ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_write_metadata (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                            <em class="parameter"><code><a class="link" href="ostree-Core-repository-independent-functions.html#OstreeObjectType" title="enum OstreeObjectType"><span class="type">OstreeObjectType</span></a> objtype</code></em>,
                            <em class="parameter"><code>const <span class="type">char</span> *expected_checksum</code></em>,
                            <em class="parameter"><code><span class="type">GVariant</span> *object</code></em>,
                            <em class="parameter"><code><span class="type">guchar</span> **out_csum</code></em>,
                            <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                            <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Store the metadata object <em class="parameter"><code>object</code></em>
.  Return the checksum
as <em class="parameter"><code>out_csum</code></em>
.</p>
<p>If <em class="parameter"><code>expected_checksum</code></em>
 is not <code class="literal">NULL</code>, verify it against the
computed checksum.</p>
<div class="refsect3">
<a name="ostree-repo-write-metadata.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>objtype</p></td>
<td class="parameter_description"><p>Object type</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>expected_checksum</p></td>
<td class="parameter_description"><p>If provided, validate content against this checksum. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/nullable"><span class="acronym">nullable</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>object</p></td>
<td class="parameter_description"><p>Metadata</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>out_csum</p></td>
<td class="parameter_description"><p>Binary checksum. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>][<a href="http://foldoc.org/array"><span class="acronym">array</span></a> fixed-size=32][<a href="http://foldoc.org/optional"><span class="acronym">optional</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>Cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-write-metadata-async"></a><h3>ostree_repo_write_metadata_async ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
ostree_repo_write_metadata_async (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                                  <em class="parameter"><code><a class="link" href="ostree-Core-repository-independent-functions.html#OstreeObjectType" title="enum OstreeObjectType"><span class="type">OstreeObjectType</span></a> objtype</code></em>,
                                  <em class="parameter"><code>const <span class="type">char</span> *expected_checksum</code></em>,
                                  <em class="parameter"><code><span class="type">GVariant</span> *object</code></em>,
                                  <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                                  <em class="parameter"><code><span class="type">GAsyncReadyCallback</span> callback</code></em>,
                                  <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>);</pre>
<p>Asynchronously store the metadata object <em class="parameter"><code>variant</code></em>
.  If provided,
the checksum <em class="parameter"><code>expected_checksum</code></em>
 will be verified.</p>
<div class="refsect3">
<a name="ostree-repo-write-metadata-async.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>objtype</p></td>
<td class="parameter_description"><p>Object type</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>expected_checksum</p></td>
<td class="parameter_description"><p>If provided, validate content against this checksum. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/nullable"><span class="acronym">nullable</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>object</p></td>
<td class="parameter_description"><p>Metadata</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>Cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>callback</p></td>
<td class="parameter_description"><p>Invoked when metadata is writed</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>Data for <em class="parameter"><code>callback</code></em>
</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-write-metadata-finish"></a><h3>ostree_repo_write_metadata_finish ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_write_metadata_finish (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                                   <em class="parameter"><code><span class="type">GAsyncResult</span> *result</code></em>,
                                   <em class="parameter"><code><span class="type">guchar</span> **out_csum</code></em>,
                                   <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Complete a call to <a class="link" href="ostree-OstreeRepo.html#ostree-repo-write-metadata-async" title="ostree_repo_write_metadata_async ()"><code class="function">ostree_repo_write_metadata_async()</code></a>.</p>
<div class="refsect3">
<a name="ostree-repo-write-metadata-finish.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>result</p></td>
<td class="parameter_description"><p>Result</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>out_csum</p></td>
<td class="parameter_description"><p>Binary checksum value. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>][<a href="http://foldoc.org/array"><span class="acronym">array</span></a> fixed-size=32][<a href="http://foldoc.org/element-type"><span class="acronym">element-type</span></a> guint8]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-write-content"></a><h3>ostree_repo_write_content ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_write_content (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                           <em class="parameter"><code>const <span class="type">char</span> *expected_checksum</code></em>,
                           <em class="parameter"><code><span class="type">GInputStream</span> *object_input</code></em>,
                           <em class="parameter"><code><span class="type">guint64</span> length</code></em>,
                           <em class="parameter"><code><span class="type">guchar</span> **out_csum</code></em>,
                           <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                           <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Store the content object streamed as <em class="parameter"><code>object_input</code></em>
,
with total length <em class="parameter"><code>length</code></em>
.  The actual checksum will
be returned as <em class="parameter"><code>out_csum</code></em>
.</p>
<div class="refsect3">
<a name="ostree-repo-write-content.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>expected_checksum</p></td>
<td class="parameter_description"><p>If provided, validate content against this checksum. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/allow-none"><span class="acronym">allow-none</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>object_input</p></td>
<td class="parameter_description"><p>Content object stream</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>length</p></td>
<td class="parameter_description"><p>Length of <em class="parameter"><code>object_input</code></em>
</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>out_csum</p></td>
<td class="parameter_description"><p>Binary checksum. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>][<a href="http://foldoc.org/array"><span class="acronym">array</span></a> fixed-size=32][<a href="http://foldoc.org/optional"><span class="acronym">optional</span></a>][<a href="http://foldoc.org/nullable"><span class="acronym">nullable</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>Cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-write-regfile"></a><h3>ostree_repo_write_regfile ()</h3>
<pre class="programlisting"><span class="returnvalue">OstreeContentWriter</span> *
ostree_repo_write_regfile (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                           <em class="parameter"><code>const <span class="type">char</span> *expected_checksum</code></em>,
                           <em class="parameter"><code><span class="type">guint32</span> uid</code></em>,
                           <em class="parameter"><code><span class="type">guint32</span> gid</code></em>,
                           <em class="parameter"><code><span class="type">guint32</span> mode</code></em>,
                           <em class="parameter"><code><span class="type">guint64</span> content_len</code></em>,
                           <em class="parameter"><code><span class="type">GVariant</span> *xattrs</code></em>,
                           <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Create an <code class="literal">OstreeContentWriter</code> that allows streaming output into
the repository.</p>
<div class="refsect3">
<a name="ostree-repo-write-regfile.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Repo,</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>expected_checksum</p></td>
<td class="parameter_description"><p>Expected checksum (SHA-256 hex string). </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/allow-none"><span class="acronym">allow-none</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>uid</p></td>
<td class="parameter_description"><p>user id</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>gid</p></td>
<td class="parameter_description"><p>group id</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>mode</p></td>
<td class="parameter_description"><p>Unix file mode</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>content_len</p></td>
<td class="parameter_description"><p>Expected content length</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>xattrs</p></td>
<td class="parameter_description"><p>Extended attributes (GVariant type <code class="literal">(ayay)</code>). </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/allow-none"><span class="acronym">allow-none</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="ostree-repo-write-regfile.returns"></a><h4>Returns</h4>
<p>A new writer, or <code class="literal">NULL</code> on error. </p>
<p><span class="annotation">[<a href="http://foldoc.org/transfer%20full"><span class="acronym">transfer full</span></a>]</span></p>
</div>
<p class="since">Since: 2021.2</p>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-write-regfile-inline"></a><h3>ostree_repo_write_regfile_inline ()</h3>
<pre class="programlisting"><span class="returnvalue">char</span> *
ostree_repo_write_regfile_inline (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                                  <em class="parameter"><code>const <span class="type">char</span> *expected_checksum</code></em>,
                                  <em class="parameter"><code><span class="type">guint32</span> uid</code></em>,
                                  <em class="parameter"><code><span class="type">guint32</span> gid</code></em>,
                                  <em class="parameter"><code><span class="type">guint32</span> mode</code></em>,
                                  <em class="parameter"><code><span class="type">GVariant</span> *xattrs</code></em>,
                                  <em class="parameter"><code>const <span class="type">guint8</span> *buf</code></em>,
                                  <em class="parameter"><code><span class="type">gsize</span> len</code></em>,
                                  <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                                  <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Synchronously create a file object from the provided content.  This API
is intended for small files where it is reasonable to buffer the entire
content in memory.</p>
<p>Unlike <code class="literal"><a class="link" href="ostree-OstreeRepo.html#ostree-repo-write-content" title="ostree_repo_write_content ()"><code class="function">ostree_repo_write_content()</code></a></code>, if <em class="parameter"><code>expected_checksum</code></em>
 is provided,
this function will not check for the presence of the object beforehand.</p>
<div class="refsect3">
<a name="ostree-repo-write-regfile-inline.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>expected_checksum</p></td>
<td class="parameter_description"><p>The expected checksum. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/allow-none"><span class="acronym">allow-none</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>uid</p></td>
<td class="parameter_description"><p>User id</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>gid</p></td>
<td class="parameter_description"><p>Group id</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>mode</p></td>
<td class="parameter_description"><p>File mode</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>xattrs</p></td>
<td class="parameter_description"><p>Extended attributes, GVariant of type (ayay). </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/allow-none"><span class="acronym">allow-none</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>buf</p></td>
<td class="parameter_description"><p>File contents. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/array"><span class="acronym">array</span></a> length=len][<a href="http://foldoc.org/element-type"><span class="acronym">element-type</span></a> guint8]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>Cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="ostree-repo-write-regfile-inline.returns"></a><h4>Returns</h4>
<p>Checksum (as a hex string) of the committed file. </p>
<p><span class="annotation">[<a href="http://foldoc.org/transfer%20full"><span class="acronym">transfer full</span></a>]</span></p>
</div>
<p class="since">Since: 2021.2</p>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-write-symlink"></a><h3>ostree_repo_write_symlink ()</h3>
<pre class="programlisting"><span class="returnvalue">char</span> *
ostree_repo_write_symlink (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                           <em class="parameter"><code>const <span class="type">char</span> *expected_checksum</code></em>,
                           <em class="parameter"><code><span class="type">guint32</span> uid</code></em>,
                           <em class="parameter"><code><span class="type">guint32</span> gid</code></em>,
                           <em class="parameter"><code><span class="type">GVariant</span> *xattrs</code></em>,
                           <em class="parameter"><code>const <span class="type">char</span> *symlink_target</code></em>,
                           <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                           <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Synchronously create a symlink object.</p>
<p>Unlike <code class="literal"><a class="link" href="ostree-OstreeRepo.html#ostree-repo-write-content" title="ostree_repo_write_content ()"><code class="function">ostree_repo_write_content()</code></a></code>, if <em class="parameter"><code>expected_checksum</code></em>
 is provided,
this function will not check for the presence of the object beforehand.</p>
<div class="refsect3">
<a name="ostree-repo-write-symlink.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>expected_checksum</p></td>
<td class="parameter_description"><p>The expected checksum. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/allow-none"><span class="acronym">allow-none</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>uid</p></td>
<td class="parameter_description"><p>User id</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>gid</p></td>
<td class="parameter_description"><p>Group id</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>xattrs</p></td>
<td class="parameter_description"><p>Extended attributes, GVariant of type (ayay). </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/allow-none"><span class="acronym">allow-none</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>symlink_target</p></td>
<td class="parameter_description"><p>Target of the symbolic link</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>Cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="ostree-repo-write-symlink.returns"></a><h4>Returns</h4>
<p>Checksum (as a hex string) of the committed file. </p>
<p><span class="annotation">[<a href="http://foldoc.org/transfer%20full"><span class="acronym">transfer full</span></a>]</span></p>
</div>
<p class="since">Since: 2021.2</p>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-write-metadata-trusted"></a><h3>ostree_repo_write_metadata_trusted ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_write_metadata_trusted (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                                    <em class="parameter"><code><a class="link" href="ostree-Core-repository-independent-functions.html#OstreeObjectType" title="enum OstreeObjectType"><span class="type">OstreeObjectType</span></a> objtype</code></em>,
                                    <em class="parameter"><code>const <span class="type">char</span> *checksum</code></em>,
                                    <em class="parameter"><code><span class="type">GVariant</span> *variant</code></em>,
                                    <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                                    <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Store the metadata object <em class="parameter"><code>variant</code></em>
; the provided <em class="parameter"><code>checksum</code></em>
 is
trusted.</p>
<div class="refsect3">
<a name="ostree-repo-write-metadata-trusted.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>objtype</p></td>
<td class="parameter_description"><p>Object type</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>checksum</p></td>
<td class="parameter_description"><p>Store object with this ASCII SHA256 checksum</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>variant</p></td>
<td class="parameter_description"><p>Metadata object</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>Cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-write-metadata-stream-trusted"></a><h3>ostree_repo_write_metadata_stream_trusted ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_write_metadata_stream_trusted
                               (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                                <em class="parameter"><code><a class="link" href="ostree-Core-repository-independent-functions.html#OstreeObjectType" title="enum OstreeObjectType"><span class="type">OstreeObjectType</span></a> objtype</code></em>,
                                <em class="parameter"><code>const <span class="type">char</span> *checksum</code></em>,
                                <em class="parameter"><code><span class="type">GInputStream</span> *object_input</code></em>,
                                <em class="parameter"><code><span class="type">guint64</span> length</code></em>,
                                <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                                <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Store the metadata object <em class="parameter"><code>variant</code></em>
; the provided <em class="parameter"><code>checksum</code></em>
 is
trusted.</p>
<div class="refsect3">
<a name="ostree-repo-write-metadata-stream-trusted.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>objtype</p></td>
<td class="parameter_description"><p>Object type</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>checksum</p></td>
<td class="parameter_description"><p>Store object with this ASCII SHA256 checksum</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>object_input</p></td>
<td class="parameter_description"><p>Metadata object stream</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>length</p></td>
<td class="parameter_description"><p>Length, may be 0 for unknown</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>Cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-write-content-trusted"></a><h3>ostree_repo_write_content_trusted ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_write_content_trusted (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                                   <em class="parameter"><code>const <span class="type">char</span> *checksum</code></em>,
                                   <em class="parameter"><code><span class="type">GInputStream</span> *object_input</code></em>,
                                   <em class="parameter"><code><span class="type">guint64</span> length</code></em>,
                                   <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                                   <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Store the content object streamed as <em class="parameter"><code>object_input</code></em>
, with total
length <em class="parameter"><code>length</code></em>
.  The given <em class="parameter"><code>checksum</code></em>
 will be treated as trusted.</p>
<p>This function should be used when importing file objects from local
disk, for example.</p>
<div class="refsect3">
<a name="ostree-repo-write-content-trusted.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>checksum</p></td>
<td class="parameter_description"><p>Store content using this ASCII SHA256 checksum</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>object_input</p></td>
<td class="parameter_description"><p>Content stream</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>length</p></td>
<td class="parameter_description"><p>Length of <em class="parameter"><code>object_input</code></em>
</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>Cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Data for <em class="parameter"><code>callback</code></em>
</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-write-content-async"></a><h3>ostree_repo_write_content_async ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
ostree_repo_write_content_async (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                                 <em class="parameter"><code>const <span class="type">char</span> *expected_checksum</code></em>,
                                 <em class="parameter"><code><span class="type">GInputStream</span> *object</code></em>,
                                 <em class="parameter"><code><span class="type">guint64</span> length</code></em>,
                                 <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                                 <em class="parameter"><code><span class="type">GAsyncReadyCallback</span> callback</code></em>,
                                 <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>);</pre>
<p>Asynchronously store the content object <em class="parameter"><code>object</code></em>
.  If provided, the
checksum <em class="parameter"><code>expected_checksum</code></em>
 will be verified.</p>
<div class="refsect3">
<a name="ostree-repo-write-content-async.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>expected_checksum</p></td>
<td class="parameter_description"><p>If provided, validate content against this checksum. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/allow-none"><span class="acronym">allow-none</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>object</p></td>
<td class="parameter_description"><p>Input</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>length</p></td>
<td class="parameter_description"><p>Length of <em class="parameter"><code>object</code></em>
</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>Cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>callback</p></td>
<td class="parameter_description"><p>Invoked when content is writed</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>User data for <em class="parameter"><code>callback</code></em>
</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-write-content-finish"></a><h3>ostree_repo_write_content_finish ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_write_content_finish (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                                  <em class="parameter"><code><span class="type">GAsyncResult</span> *result</code></em>,
                                  <em class="parameter"><code><span class="type">guchar</span> **out_csum</code></em>,
                                  <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Completes an invocation of <a class="link" href="ostree-OstreeRepo.html#ostree-repo-write-content-async" title="ostree_repo_write_content_async ()"><code class="function">ostree_repo_write_content_async()</code></a>.</p>
<div class="refsect3">
<a name="ostree-repo-write-content-finish.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>a <a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>result</p></td>
<td class="parameter_description"><p>a <span class="type">GAsyncResult</span></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>out_csum</p></td>
<td class="parameter_description"><p>A binary SHA256
checksum of the content object. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>][<a href="http://foldoc.org/transfer%20full"><span class="acronym">transfer full</span></a>][<a href="http://foldoc.org/optional"><span class="acronym">optional</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>a <span class="type">GError</span></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-resolve-rev"></a><h3>ostree_repo_resolve_rev ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_resolve_rev (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                         <em class="parameter"><code>const <span class="type">char</span> *refspec</code></em>,
                         <em class="parameter"><code><span class="type">gboolean</span> allow_noent</code></em>,
                         <em class="parameter"><code><span class="type">char</span> **out_rev</code></em>,
                         <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Look up the given refspec, returning the checksum it references in
the parameter <em class="parameter"><code>out_rev</code></em>
. Will fall back on remote directory if cannot
find the given refspec in local.</p>
<div class="refsect3">
<a name="ostree-repo-resolve-rev.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>refspec</p></td>
<td class="parameter_description"><p>A refspec</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>allow_noent</p></td>
<td class="parameter_description"><p>Do not throw an error if refspec does not exist</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>out_rev</p></td>
<td class="parameter_description"><p>A checksum,or <code class="literal">NULL</code> if <em class="parameter"><code>allow_noent</code></em>
is true and it
does not exist. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>][<a href="http://foldoc.org/nullable"><span class="acronym">nullable</span></a>][<a href="http://foldoc.org/transfer%20full"><span class="acronym">transfer full</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-resolve-rev-ext"></a><h3>ostree_repo_resolve_rev_ext ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_resolve_rev_ext (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                             <em class="parameter"><code>const <span class="type">char</span> *refspec</code></em>,
                             <em class="parameter"><code><span class="type">gboolean</span> allow_noent</code></em>,
                             <em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepoResolveRevExtFlags" title="enum OstreeRepoResolveRevExtFlags"><span class="type">OstreeRepoResolveRevExtFlags</span></a> flags</code></em>,
                             <em class="parameter"><code><span class="type">char</span> **out_rev</code></em>,
                             <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Look up the given refspec, returning the checksum it references in
the parameter <em class="parameter"><code>out_rev</code></em>
. Differently from <a class="link" href="ostree-OstreeRepo.html#ostree-repo-resolve-rev" title="ostree_repo_resolve_rev ()"><code class="function">ostree_repo_resolve_rev()</code></a>,
this will not fall back to searching through remote repos if a
local ref is specified but not found.</p>
<p>The flag <a class="link" href="ostree-OstreeRepo.html#OSTREE-REPO-RESOLVE-REV-EXT-LOCAL-ONLY:CAPS"><code class="literal">OSTREE_REPO_RESOLVE_REV_EXT_LOCAL_ONLY</code></a> is implied so
using it has no effect.</p>
<div class="refsect3">
<a name="ostree-repo-resolve-rev-ext.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>refspec</p></td>
<td class="parameter_description"><p>A refspec</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>allow_noent</p></td>
<td class="parameter_description"><p>Do not throw an error if refspec does not exist</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>flags</p></td>
<td class="parameter_description"><p>Options controlling behavior</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>out_rev</p></td>
<td class="parameter_description"><p>A checksum,or <code class="literal">NULL</code> if <em class="parameter"><code>allow_noent</code></em>
is true and it
does not exist. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>][<a href="http://foldoc.org/nullable"><span class="acronym">nullable</span></a>][<a href="http://foldoc.org/transfer%20full"><span class="acronym">transfer full</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: 2016.7</p>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-list-refs"></a><h3>ostree_repo_list_refs ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_list_refs (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                       <em class="parameter"><code>const <span class="type">char</span> *refspec_prefix</code></em>,
                       <em class="parameter"><code><span class="type">GHashTable</span> **out_all_refs</code></em>,
                       <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                       <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>If <em class="parameter"><code>refspec_prefix</code></em>
 is <code class="literal">NULL</code>, list all local and remote refspecs,
with their current values in <em class="parameter"><code>out_all_refs</code></em>
.  Otherwise, only list
refspecs which have <em class="parameter"><code>refspec_prefix</code></em>
 as a prefix.</p>
<p><em class="parameter"><code>out_all_refs</code></em>
 will be returned as a mapping from refspecs (including the
remote name) to checksums. If <em class="parameter"><code>refspec_prefix</code></em>
 is non-<code class="literal">NULL</code>, it will be
removed as a prefix from the hash table keys.</p>
<div class="refsect3">
<a name="ostree-repo-list-refs.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>refspec_prefix</p></td>
<td class="parameter_description"><p>Only list refs which match this prefix. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/allow-none"><span class="acronym">allow-none</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>out_all_refs</p></td>
<td class="parameter_description"><p>Mapping from refspec to checksum. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>][<a href="http://foldoc.org/element-type"><span class="acronym">element-type</span></a> utf8 utf8][<a href="http://foldoc.org/transfer%20container"><span class="acronym">transfer container</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>Cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-list-refs-ext"></a><h3>ostree_repo_list_refs_ext ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_list_refs_ext (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                           <em class="parameter"><code>const <span class="type">char</span> *refspec_prefix</code></em>,
                           <em class="parameter"><code><span class="type">GHashTable</span> **out_all_refs</code></em>,
                           <em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepoListRefsExtFlags" title="enum OstreeRepoListRefsExtFlags"><span class="type">OstreeRepoListRefsExtFlags</span></a> flags</code></em>,
                           <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                           <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>If <em class="parameter"><code>refspec_prefix</code></em>
 is <code class="literal">NULL</code>, list all local and remote refspecs,
with their current values in <em class="parameter"><code>out_all_refs</code></em>
.  Otherwise, only list
refspecs which have <em class="parameter"><code>refspec_prefix</code></em>
 as a prefix.</p>
<p><em class="parameter"><code>out_all_refs</code></em>
 will be returned as a mapping from refspecs (including the
remote name) to checksums. Differently from <a class="link" href="ostree-OstreeRepo.html#ostree-repo-list-refs" title="ostree_repo_list_refs ()"><code class="function">ostree_repo_list_refs()</code></a>, the
<em class="parameter"><code>refspec_prefix</code></em>
 will not be removed from the refspecs in the hash table.</p>
<div class="refsect3">
<a name="ostree-repo-list-refs-ext.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>refspec_prefix</p></td>
<td class="parameter_description"><p>Only list refs which match this prefix. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/allow-none"><span class="acronym">allow-none</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>out_all_refs</p></td>
<td class="parameter_description"><p>Mapping from refspec to checksum. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>][<a href="http://foldoc.org/element-type"><span class="acronym">element-type</span></a> utf8 utf8][<a href="http://foldoc.org/transfer%20container"><span class="acronym">transfer container</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>flags</p></td>
<td class="parameter_description"><p>Options controlling listing behavior</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>Cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: 2016.4</p>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-list-collection-refs"></a><h3>ostree_repo_list_collection_refs ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_list_collection_refs (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                                  <em class="parameter"><code>const <span class="type">char</span> *match_collection_id</code></em>,
                                  <em class="parameter"><code><span class="type">GHashTable</span> **out_all_refs</code></em>,
                                  <em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepoListRefsExtFlags" title="enum OstreeRepoListRefsExtFlags"><span class="type">OstreeRepoListRefsExtFlags</span></a> flags</code></em>,
                                  <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                                  <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>List all local, mirrored, and remote refs, mapping them to the commit
checksums they currently point to in <em class="parameter"><code>out_all_refs</code></em>
. If <em class="parameter"><code>match_collection_id</code></em>

is specified, the results will be limited to those with an equal collection
ID.</p>
<p><span class="type">OstreeCollectionRefs</span> are guaranteed to be returned with their collection ID
set to a non-<code class="literal">NULL</code> value; so no refs from <code class="literal">refs/heads</code> will be listed if no
collection ID is configured for the repository
(<a class="link" href="ostree-OstreeRepo.html#ostree-repo-get-collection-id" title="ostree_repo_get_collection_id ()"><code class="function">ostree_repo_get_collection_id()</code></a>).</p>
<p>If you want to exclude refs from <code class="literal">refs/remotes</code>, use
<a class="link" href="ostree-OstreeRepo.html#OSTREE-REPO-LIST-REFS-EXT-EXCLUDE-REMOTES:CAPS"><code class="literal">OSTREE_REPO_LIST_REFS_EXT_EXCLUDE_REMOTES</code></a> in <em class="parameter"><code>flags</code></em>
. Similarly use
<a class="link" href="ostree-OstreeRepo.html#OSTREE-REPO-LIST-REFS-EXT-EXCLUDE-MIRRORS:CAPS"><code class="literal">OSTREE_REPO_LIST_REFS_EXT_EXCLUDE_MIRRORS</code></a> to exclude refs from
<code class="literal">refs/mirrors</code>.</p>
<div class="refsect3">
<a name="ostree-repo-list-collection-refs.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>match_collection_id</p></td>
<td class="parameter_description"><p>If non-<code class="literal">NULL</code>, only list refs from this collection. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/nullable"><span class="acronym">nullable</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>out_all_refs</p></td>
<td class="parameter_description"><p>Mapping from collection–ref to checksum. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>][<a href="http://foldoc.org/element-type"><span class="acronym">element-type</span></a> OstreeCollectionRef utf8][<a href="http://foldoc.org/transfer%20container"><span class="acronym">transfer container</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>flags</p></td>
<td class="parameter_description"><p>Options controlling listing behavior</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>Cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="ostree-repo-list-collection-refs.returns"></a><h4>Returns</h4>
<p> <code class="literal">TRUE</code> on success, <code class="literal">FALSE</code> otherwise</p>
</div>
<p class="since">Since: 2018.6</p>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-remote-list-refs"></a><h3>ostree_repo_remote_list_refs ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_remote_list_refs (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                              <em class="parameter"><code>const <span class="type">char</span> *remote_name</code></em>,
                              <em class="parameter"><code><span class="type">GHashTable</span> **out_all_refs</code></em>,
                              <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                              <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<div class="refsect3">
<a name="ostree-repo-remote-list-refs.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>remote_name</p></td>
<td class="parameter_description"><p>Name of the remote.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>out_all_refs</p></td>
<td class="parameter_description"><p>Mapping from ref to checksum. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>][<a href="http://foldoc.org/element-type"><span class="acronym">element-type</span></a> utf8 utf8][<a href="http://foldoc.org/transfer%20container"><span class="acronym">transfer container</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>Cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-resolve-collection-ref"></a><h3>ostree_repo_resolve_collection_ref ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_resolve_collection_ref (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                                    <em class="parameter"><code>const <span class="type">OstreeCollectionRef</span> *ref</code></em>,
                                    <em class="parameter"><code><span class="type">gboolean</span> allow_noent</code></em>,
                                    <em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepoResolveRevExtFlags" title="enum OstreeRepoResolveRevExtFlags"><span class="type">OstreeRepoResolveRevExtFlags</span></a> flags</code></em>,
                                    <em class="parameter"><code><span class="type">char</span> **out_rev</code></em>,
                                    <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                                    <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Look up the checksum for the given collection–ref, returning it in <em class="parameter"><code>out_rev</code></em>
.
This will search through the mirrors and remote refs.</p>
<p>If <em class="parameter"><code>allow_noent</code></em>
 is <code class="literal">TRUE</code> and the given <em class="parameter"><code>ref</code></em>
 cannot be found, <code class="literal">TRUE</code> will be
returned and <em class="parameter"><code>out_rev</code></em>
 will be set to <code class="literal">NULL</code>. If <em class="parameter"><code>allow_noent</code></em>
 is <code class="literal">FALSE</code> and
the given <em class="parameter"><code>ref</code></em>
 cannot be found, a <code class="literal">G_IO_ERROR_NOT_FOUND</code> error will be
returned.</p>
<p>If you want to check only local refs, not remote or mirrored ones, use the
flag <a class="link" href="ostree-OstreeRepo.html#OSTREE-REPO-RESOLVE-REV-EXT-LOCAL-ONLY:CAPS"><code class="literal">OSTREE_REPO_RESOLVE_REV_EXT_LOCAL_ONLY</code></a>. This is analogous to using
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-resolve-rev-ext" title="ostree_repo_resolve_rev_ext ()"><code class="function">ostree_repo_resolve_rev_ext()</code></a> but for collection-refs.</p>
<div class="refsect3">
<a name="ostree-repo-resolve-collection-ref.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>an <a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>ref</p></td>
<td class="parameter_description"><p>a collection–ref to resolve</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>allow_noent</p></td>
<td class="parameter_description"><p><code class="literal">TRUE</code> to not throw an error if <em class="parameter"><code>ref</code></em>
doesn’t exist</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>flags</p></td>
<td class="parameter_description"><p>options controlling behaviour</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>out_rev</p></td>
<td class="parameter_description"><p>return location for
the checksum corresponding to <em class="parameter"><code>ref</code></em>
, or <code class="literal">NULL</code> if <em class="parameter"><code>allow_noent</code></em>
is <code class="literal">TRUE</code> and
the <em class="parameter"><code>ref</code></em>
could not be found. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>][<a href="http://foldoc.org/transfer%20full"><span class="acronym">transfer full</span></a>][<a href="http://foldoc.org/optional"><span class="acronym">optional</span></a>][<a href="http://foldoc.org/nullable"><span class="acronym">nullable</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>a <span class="type">GCancellable</span>, or <code class="literal">NULL</code>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/nullable"><span class="acronym">nullable</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>return location for a <span class="type">GError</span>, or <code class="literal">NULL</code></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="ostree-repo-resolve-collection-ref.returns"></a><h4>Returns</h4>
<p> <code class="literal">TRUE</code> on success, <code class="literal">FALSE</code> on failure</p>
</div>
<p class="since">Since: 2018.6</p>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-load-variant"></a><h3>ostree_repo_load_variant ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_load_variant (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                          <em class="parameter"><code><a class="link" href="ostree-Core-repository-independent-functions.html#OstreeObjectType" title="enum OstreeObjectType"><span class="type">OstreeObjectType</span></a> objtype</code></em>,
                          <em class="parameter"><code>const <span class="type">char</span> *sha256</code></em>,
                          <em class="parameter"><code><span class="type">GVariant</span> **out_variant</code></em>,
                          <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Load the metadata object <em class="parameter"><code>sha256</code></em>
 of type <em class="parameter"><code>objtype</code></em>
, storing the
result in <em class="parameter"><code>out_variant</code></em>
.</p>
<div class="refsect3">
<a name="ostree-repo-load-variant.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>objtype</p></td>
<td class="parameter_description"><p>Expected object type</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>sha256</p></td>
<td class="parameter_description"><p>Checksum string</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>out_variant</p></td>
<td class="parameter_description"><p>Metadata object. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>][<a href="http://foldoc.org/transfer%20full"><span class="acronym">transfer full</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-load-commit"></a><h3>ostree_repo_load_commit ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_load_commit (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                         <em class="parameter"><code>const <span class="type">char</span> *checksum</code></em>,
                         <em class="parameter"><code><span class="type">GVariant</span> **out_commit</code></em>,
                         <em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepoCommitState" title="enum OstreeRepoCommitState"><span class="type">OstreeRepoCommitState</span></a> *out_state</code></em>,
                         <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>A version of <a class="link" href="ostree-OstreeRepo.html#ostree-repo-load-variant" title="ostree_repo_load_variant ()"><code class="function">ostree_repo_load_variant()</code></a> specialized to commits,
capable of returning extended state information.  Currently
the only extended state is <a class="link" href="ostree-OstreeRepo.html#OSTREE-REPO-COMMIT-STATE-PARTIAL:CAPS"><code class="literal">OSTREE_REPO_COMMIT_STATE_PARTIAL</code></a>, which
means that only a sub-path of the commit is available.</p>
<div class="refsect3">
<a name="ostree-repo-load-commit.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>checksum</p></td>
<td class="parameter_description"><p>Commit checksum</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>out_commit</p></td>
<td class="parameter_description"><p>Commit. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>][<a href="http://foldoc.org/allow-none"><span class="acronym">allow-none</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>out_state</p></td>
<td class="parameter_description"><p>Commit state. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>][<a href="http://foldoc.org/allow-none"><span class="acronym">allow-none</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-load-variant-if-exists"></a><h3>ostree_repo_load_variant_if_exists ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_load_variant_if_exists (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                                    <em class="parameter"><code><a class="link" href="ostree-Core-repository-independent-functions.html#OstreeObjectType" title="enum OstreeObjectType"><span class="type">OstreeObjectType</span></a> objtype</code></em>,
                                    <em class="parameter"><code>const <span class="type">char</span> *sha256</code></em>,
                                    <em class="parameter"><code><span class="type">GVariant</span> **out_variant</code></em>,
                                    <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Attempt to load the metadata object <em class="parameter"><code>sha256</code></em>
 of type <em class="parameter"><code>objtype</code></em>
 if it
exists, storing the result in <em class="parameter"><code>out_variant</code></em>
.  If it doesn't exist,
<em class="parameter"><code>out_variant</code></em>
 will be set to <code class="literal">NULL</code> and the function will still
return TRUE.</p>
<div class="refsect3">
<a name="ostree-repo-load-variant-if-exists.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>objtype</p></td>
<td class="parameter_description"><p>Object type</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>sha256</p></td>
<td class="parameter_description"><p>ASCII checksum</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>out_variant</p></td>
<td class="parameter_description"><p>Metadata. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>][<a href="http://foldoc.org/nullable"><span class="acronym">nullable</span></a>][<a href="http://foldoc.org/transfer%20full"><span class="acronym">transfer full</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-load-file"></a><h3>ostree_repo_load_file ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_load_file (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                       <em class="parameter"><code>const <span class="type">char</span> *checksum</code></em>,
                       <em class="parameter"><code><span class="type">GInputStream</span> **out_input</code></em>,
                       <em class="parameter"><code><span class="type">GFileInfo</span> **out_file_info</code></em>,
                       <em class="parameter"><code><span class="type">GVariant</span> **out_xattrs</code></em>,
                       <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                       <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Load content object, decomposing it into three parts: the actual
content (for regular files), the metadata, and extended attributes.</p>
<div class="refsect3">
<a name="ostree-repo-load-file.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>checksum</p></td>
<td class="parameter_description"><p>ASCII SHA256 checksum</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>out_input</p></td>
<td class="parameter_description"><p>File content. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>][<a href="http://foldoc.org/optional"><span class="acronym">optional</span></a>][<a href="http://foldoc.org/nullable"><span class="acronym">nullable</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>out_file_info</p></td>
<td class="parameter_description"><p>File information. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>][<a href="http://foldoc.org/optional"><span class="acronym">optional</span></a>][<a href="http://foldoc.org/nullable"><span class="acronym">nullable</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>out_xattrs</p></td>
<td class="parameter_description"><p>Extended attributes. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>][<a href="http://foldoc.org/optional"><span class="acronym">optional</span></a>][<a href="http://foldoc.org/nullable"><span class="acronym">nullable</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>Cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-load-object-stream"></a><h3>ostree_repo_load_object_stream ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_load_object_stream (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                                <em class="parameter"><code><a class="link" href="ostree-Core-repository-independent-functions.html#OstreeObjectType" title="enum OstreeObjectType"><span class="type">OstreeObjectType</span></a> objtype</code></em>,
                                <em class="parameter"><code>const <span class="type">char</span> *checksum</code></em>,
                                <em class="parameter"><code><span class="type">GInputStream</span> **out_input</code></em>,
                                <em class="parameter"><code><span class="type">guint64</span> *out_size</code></em>,
                                <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                                <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Load object as a stream; useful when copying objects between
repositories.</p>
<div class="refsect3">
<a name="ostree-repo-load-object-stream.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>objtype</p></td>
<td class="parameter_description"><p>Object type</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>checksum</p></td>
<td class="parameter_description"><p>ASCII SHA256 checksum</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>out_input</p></td>
<td class="parameter_description"><p>Stream for object. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>out_size</p></td>
<td class="parameter_description"><p>Length of <em class="parameter"><code>out_input</code></em>
. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>Cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-query-object-storage-size"></a><h3>ostree_repo_query_object_storage_size ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_query_object_storage_size (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                                       <em class="parameter"><code><a class="link" href="ostree-Core-repository-independent-functions.html#OstreeObjectType" title="enum OstreeObjectType"><span class="type">OstreeObjectType</span></a> objtype</code></em>,
                                       <em class="parameter"><code>const <span class="type">char</span> *sha256</code></em>,
                                       <em class="parameter"><code><span class="type">guint64</span> *out_size</code></em>,
                                       <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                                       <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Return the size in bytes of object with checksum <em class="parameter"><code>sha256</code></em>
, after any
compression has been applied.</p>
<div class="refsect3">
<a name="ostree-repo-query-object-storage-size.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>objtype</p></td>
<td class="parameter_description"><p>Object type</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>sha256</p></td>
<td class="parameter_description"><p>Checksum</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>out_size</p></td>
<td class="parameter_description"><p>Size in bytes object occupies physically. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>Cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-import-object-from"></a><h3>ostree_repo_import_object_from ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_import_object_from (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                                <em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *source</code></em>,
                                <em class="parameter"><code><a class="link" href="ostree-Core-repository-independent-functions.html#OstreeObjectType" title="enum OstreeObjectType"><span class="type">OstreeObjectType</span></a> objtype</code></em>,
                                <em class="parameter"><code>const <span class="type">char</span> *checksum</code></em>,
                                <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                                <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Copy object named by <em class="parameter"><code>objtype</code></em>
 and <em class="parameter"><code>checksum</code></em>
 into <em class="parameter"><code>self</code></em>
 from the
source repository <em class="parameter"><code>source</code></em>
.  If both repositories are of the same
type and on the same filesystem, this will simply be a fast Unix
hard link operation.</p>
<p>Otherwise, a copy will be performed.</p>
<div class="refsect3">
<a name="ostree-repo-import-object-from.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Destination repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>source</p></td>
<td class="parameter_description"><p>Source repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>objtype</p></td>
<td class="parameter_description"><p>Object type</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>checksum</p></td>
<td class="parameter_description"><p>checksum</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>Cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-import-object-from-with-trust"></a><h3>ostree_repo_import_object_from_with_trust ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_import_object_from_with_trust
                               (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                                <em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *source</code></em>,
                                <em class="parameter"><code><a class="link" href="ostree-Core-repository-independent-functions.html#OstreeObjectType" title="enum OstreeObjectType"><span class="type">OstreeObjectType</span></a> objtype</code></em>,
                                <em class="parameter"><code>const <span class="type">char</span> *checksum</code></em>,
                                <em class="parameter"><code><span class="type">gboolean</span> trusted</code></em>,
                                <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                                <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Copy object named by <em class="parameter"><code>objtype</code></em>
 and <em class="parameter"><code>checksum</code></em>
 into <em class="parameter"><code>self</code></em>
 from the
source repository <em class="parameter"><code>source</code></em>
. If <em class="parameter"><code>trusted</code></em>
 is <code class="literal">TRUE</code> and both
repositories are of the same type and on the same filesystem,
this will simply be a fast Unix hard link operation.</p>
<p>Otherwise, a copy will be performed.</p>
<div class="refsect3">
<a name="ostree-repo-import-object-from-with-trust.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Destination repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>source</p></td>
<td class="parameter_description"><p>Source repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>objtype</p></td>
<td class="parameter_description"><p>Object type</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>checksum</p></td>
<td class="parameter_description"><p>checksum</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>trusted</p></td>
<td class="parameter_description"><p>If <code class="literal">TRUE</code>, assume the source repo is valid and trusted</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>Cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: 2016.5</p>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-import-archive-to-mtree"></a><h3>ostree_repo_import_archive_to_mtree ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_import_archive_to_mtree (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                                     <em class="parameter"><code><span class="type">OstreeRepoImportArchiveOptions</span> *opts</code></em>,
                                     <em class="parameter"><code><span class="type">void</span> *archive</code></em>,
                                     <em class="parameter"><code><a class="link" href="ostree-In-memory-modifiable-filesystem-tree.html#OstreeMutableTree" title="OstreeMutableTree"><span class="type">OstreeMutableTree</span></a> *mtree</code></em>,
                                     <em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepoCommitModifier" title="OstreeRepoCommitModifier"><span class="type">OstreeRepoCommitModifier</span></a> *modifier</code></em>,
                                     <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                                     <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Import an archive file <em class="parameter"><code>archive</code></em>
 into the repository, and write its
file structure to <em class="parameter"><code>mtree</code></em>
.</p>
<p><span class="annotation">[<a href="http://foldoc.org/skip"><span class="acronym">skip</span></a>]</span></p>
<div class="refsect3">
<a name="ostree-repo-import-archive-to-mtree.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>An <a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>opts</p></td>
<td class="parameter_description"><p>Options structure, ensure this is zeroed, then set specific variables</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>archive</p></td>
<td class="parameter_description"><p>Really this is "struct archive*"</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>mtree</p></td>
<td class="parameter_description"><p>The <a class="link" href="ostree-In-memory-modifiable-filesystem-tree.html#OstreeMutableTree" title="OstreeMutableTree"><span class="type">OstreeMutableTree</span></a> to write to</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>modifier</p></td>
<td class="parameter_description"><p>Optional commit modifier. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/allow-none"><span class="acronym">allow-none</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>Cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-export-tree-to-archive"></a><h3>ostree_repo_export_tree_to_archive ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_export_tree_to_archive (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                                    <em class="parameter"><code><span class="type">OstreeRepoExportArchiveOptions</span> *opts</code></em>,
                                    <em class="parameter"><code><a class="link" href="ostree-ostree-repo-file.html#OstreeRepoFile" title="OstreeRepoFile"><span class="type">OstreeRepoFile</span></a> *root</code></em>,
                                    <em class="parameter"><code><span class="type">void</span> *archive</code></em>,
                                    <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                                    <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Import an archive file <em class="parameter"><code>archive</code></em>
 into the repository, and write its
file structure to <em class="parameter"><code>mtree</code></em>
.</p>
<p><span class="annotation">[<a href="http://foldoc.org/skip"><span class="acronym">skip</span></a>]</span></p>
<div class="refsect3">
<a name="ostree-repo-export-tree-to-archive.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>An <a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>opts</p></td>
<td class="parameter_description"><p>Options controlling conversion</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>root</p></td>
<td class="parameter_description"><p>An <a class="link" href="ostree-ostree-repo-file.html#OstreeRepoFile" title="OstreeRepoFile"><span class="type">OstreeRepoFile</span></a> for the base directory</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>archive</p></td>
<td class="parameter_description"><p>A <code class="literal">struct archive</code>, but specified as void to avoid a dependency on the libarchive
headers</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>Cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-delete-object"></a><h3>ostree_repo_delete_object ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_delete_object (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                           <em class="parameter"><code><a class="link" href="ostree-Core-repository-independent-functions.html#OstreeObjectType" title="enum OstreeObjectType"><span class="type">OstreeObjectType</span></a> objtype</code></em>,
                           <em class="parameter"><code>const <span class="type">char</span> *sha256</code></em>,
                           <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                           <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Remove the object of type <em class="parameter"><code>objtype</code></em>
 with checksum <em class="parameter"><code>sha256</code></em>

from the repository.  An error of type <code class="literal">G_IO_ERROR_NOT_FOUND</code>
is thrown if the object does not exist.</p>
<div class="refsect3">
<a name="ostree-repo-delete-object.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>objtype</p></td>
<td class="parameter_description"><p>Object type</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>sha256</p></td>
<td class="parameter_description"><p>Checksum</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>Cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-fsck-object"></a><h3>ostree_repo_fsck_object ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_fsck_object (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                         <em class="parameter"><code><a class="link" href="ostree-Core-repository-independent-functions.html#OstreeObjectType" title="enum OstreeObjectType"><span class="type">OstreeObjectType</span></a> objtype</code></em>,
                         <em class="parameter"><code>const <span class="type">char</span> *sha256</code></em>,
                         <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                         <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Verify consistency of the object; this performs checks only relevant to the
immediate object itself, such as checksumming. This API call will not itself
traverse metadata objects for example.</p>
<div class="refsect3">
<a name="ostree-repo-fsck-object.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>objtype</p></td>
<td class="parameter_description"><p>Object type</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>sha256</p></td>
<td class="parameter_description"><p>Checksum</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>Cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: 2017.15</p>
</div>
<hr>
<div class="refsect2">
<a name="OstreeRepoCommitFilter"></a><h3>OstreeRepoCommitFilter ()</h3>
<pre class="programlisting"><a class="link" href="ostree-OstreeRepo.html#OstreeRepoCommitFilterResult" title="enum OstreeRepoCommitFilterResult"><span class="returnvalue">OstreeRepoCommitFilterResult</span></a>
<span class="c_punctuation">(</span>*OstreeRepoCommitFilter<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *repo</code></em>,
                           <em class="parameter"><code>const <span class="type">char</span> *path</code></em>,
                           <em class="parameter"><code><span class="type">GFileInfo</span> *file_info</code></em>,
                           <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>);</pre>
<div class="refsect3">
<a name="OstreeRepoCommitFilter.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>repo</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>path</p></td>
<td class="parameter_description"><p>Path to file</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>file_info</p></td>
<td class="parameter_description"><p>File information</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>User data</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="OstreeRepoCommitFilter.returns"></a><h4>Returns</h4>
<p> <a class="link" href="ostree-OstreeRepo.html#OstreeRepoCommitFilterResult" title="enum OstreeRepoCommitFilterResult"><span class="type">OstreeRepoCommitFilterResult</span></a> saying whether or not to commit this file</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-commit-modifier-new"></a><h3>ostree_repo_commit_modifier_new ()</h3>
<pre class="programlisting"><a class="link" href="ostree-OstreeRepo.html#OstreeRepoCommitModifier" title="OstreeRepoCommitModifier"><span class="returnvalue">OstreeRepoCommitModifier</span></a> *
ostree_repo_commit_modifier_new (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepoCommitModifierFlags" title="enum OstreeRepoCommitModifierFlags"><span class="type">OstreeRepoCommitModifierFlags</span></a> flags</code></em>,
                                 <em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepoCommitFilter" title="OstreeRepoCommitFilter ()"><span class="type">OstreeRepoCommitFilter</span></a> commit_filter</code></em>,
                                 <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>,
                                 <em class="parameter"><code><span class="type">GDestroyNotify</span> destroy_notify</code></em>);</pre>
<div class="refsect3">
<a name="ostree-repo-commit-modifier-new.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>flags</p></td>
<td class="parameter_description"><p>Control options for filter</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>commit_filter</p></td>
<td class="parameter_description"><p>Function that can inspect individual files. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/allow-none"><span class="acronym">allow-none</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>User data. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/allow-none"><span class="acronym">allow-none</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>destroy_notify</p></td>
<td class="parameter_description"><p>A <span class="type">GDestroyNotify</span></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="ostree-repo-commit-modifier-new.returns"></a><h4>Returns</h4>
<p>A new commit modifier. </p>
<p><span class="annotation">[<a href="http://foldoc.org/transfer%20full"><span class="acronym">transfer full</span></a>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="OstreeRepoCommitModifierXattrCallback"></a><h3>OstreeRepoCommitModifierXattrCallback ()</h3>
<pre class="programlisting"><span class="returnvalue">GVariant</span> *
<span class="c_punctuation">(</span>*OstreeRepoCommitModifierXattrCallback<span class="c_punctuation">)</span>
                               (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *repo</code></em>,
                                <em class="parameter"><code>const <span class="type">char</span> *path</code></em>,
                                <em class="parameter"><code><span class="type">GFileInfo</span> *file_info</code></em>,
                                <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>);</pre>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-commit-modifier-set-xattr-callback"></a><h3>ostree_repo_commit_modifier_set_xattr_callback ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
ostree_repo_commit_modifier_set_xattr_callback
                               (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepoCommitModifier" title="OstreeRepoCommitModifier"><span class="type">OstreeRepoCommitModifier</span></a> *modifier</code></em>,
                                <em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepoCommitModifierXattrCallback" title="OstreeRepoCommitModifierXattrCallback ()"><span class="type">OstreeRepoCommitModifierXattrCallback</span></a> callback</code></em>,
                                <em class="parameter"><code><span class="type">GDestroyNotify</span> destroy</code></em>,
                                <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>);</pre>
<p>If set, this function should return extended attributes to use for
the given path.  This is useful for things like ACLs and SELinux,
where a build system can label the files as it's committing to the
repository.</p>
<div class="refsect3">
<a name="ostree-repo-commit-modifier-set-xattr-callback.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>modifier</p></td>
<td class="parameter_description"><p>An <a class="link" href="ostree-OstreeRepo.html#OstreeRepoCommitModifier" title="OstreeRepoCommitModifier"><span class="type">OstreeRepoCommitModifier</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>callback</p></td>
<td class="parameter_description"><p>Function to be invoked, should return extended attributes for path</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>destroy</p></td>
<td class="parameter_description"><p>Destroy notification</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>Data for <em class="parameter"><code>callback</code></em>
:</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-commit-modifier-set-sepolicy"></a><h3>ostree_repo_commit_modifier_set_sepolicy ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
ostree_repo_commit_modifier_set_sepolicy
                               (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepoCommitModifier" title="OstreeRepoCommitModifier"><span class="type">OstreeRepoCommitModifier</span></a> *modifier</code></em>,
                                <em class="parameter"><code><a class="link" href="ostree-SELinux-policy-management.html#OstreeSePolicy" title="OstreeSePolicy"><span class="type">OstreeSePolicy</span></a> *sepolicy</code></em>);</pre>
<p>If <em class="parameter"><code>policy</code></em>
 is non-<code class="literal">NULL</code>, use it to look up labels to use for
"security.selinux" extended attributes.</p>
<p>Note that any policy specified this way operates in addition to any
extended attributes provided via
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-commit-modifier-set-xattr-callback" title="ostree_repo_commit_modifier_set_xattr_callback ()"><code class="function">ostree_repo_commit_modifier_set_xattr_callback()</code></a>.  However if both
specify a value for "security.selinux", then the one from the
policy wins.</p>
<div class="refsect3">
<a name="ostree-repo-commit-modifier-set-sepolicy.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>modifier</p></td>
<td class="parameter_description"><p>An <a class="link" href="ostree-OstreeRepo.html#OstreeRepoCommitModifier" title="OstreeRepoCommitModifier"><span class="type">OstreeRepoCommitModifier</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>sepolicy</p></td>
<td class="parameter_description"><p>Policy to use for labeling. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/allow-none"><span class="acronym">allow-none</span></a>]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-commit-modifier-set-sepolicy-from-commit"></a><h3>ostree_repo_commit_modifier_set_sepolicy_from_commit ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_commit_modifier_set_sepolicy_from_commit
                               (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepoCommitModifier" title="OstreeRepoCommitModifier"><span class="type">OstreeRepoCommitModifier</span></a> *modifier</code></em>,
                                <em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *repo</code></em>,
                                <em class="parameter"><code>const <span class="type">char</span> *rev</code></em>,
                                <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                                <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>In many cases, one wants to create a "derived" commit from base commit.
SELinux policy labels are part of that base commit.  This API allows
one to easily set up SELinux labeling from a base commit.</p>
<div class="refsect3">
<a name="ostree-repo-commit-modifier-set-sepolicy-from-commit.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>modifier</p></td>
<td class="parameter_description"><p>Commit modifier</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>repo</p></td>
<td class="parameter_description"><p>OSTree repo containing <em class="parameter"><code>rev</code></em>
</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>rev</p></td>
<td class="parameter_description"><p>Find SELinux policy from this base commit</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: 2020.4</p>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-commit-modifier-set-devino-cache"></a><h3>ostree_repo_commit_modifier_set_devino_cache ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
ostree_repo_commit_modifier_set_devino_cache
                               (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepoCommitModifier" title="OstreeRepoCommitModifier"><span class="type">OstreeRepoCommitModifier</span></a> *modifier</code></em>,
                                <em class="parameter"><code><span class="type">OstreeRepoDevInoCache</span> *cache</code></em>);</pre>
<p>See the documentation for
<code class="literal"><a class="link" href="ostree-OstreeRepo.html#ostree-repo-devino-cache-new" title="ostree_repo_devino_cache_new ()"><code class="function">ostree_repo_devino_cache_new()</code></a></code>.  This function can
then be used for later calls to
<code class="literal"><a class="link" href="ostree-OstreeRepo.html#ostree-repo-write-directory-to-mtree" title="ostree_repo_write_directory_to_mtree ()"><code class="function">ostree_repo_write_directory_to_mtree()</code></a></code> to optimize commits.</p>
<p>Note if your process has multiple writers, you should use separate
<code class="literal">OSTreeRepo</code> instances if you want to also use this API.</p>
<p>This function will add a reference to <em class="parameter"><code>cache</code></em>
 without copying - you
should avoid further mutation of the cache.</p>
<div class="refsect3">
<a name="ostree-repo-commit-modifier-set-devino-cache.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>modifier</p></td>
<td class="parameter_description"><p>Modifier</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>cache</p></td>
<td class="parameter_description"><p>A hash table caching device,inode to checksums</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: 2017.13</p>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-commit-modifier-ref"></a><h3>ostree_repo_commit_modifier_ref ()</h3>
<pre class="programlisting"><a class="link" href="ostree-OstreeRepo.html#OstreeRepoCommitModifier" title="OstreeRepoCommitModifier"><span class="returnvalue">OstreeRepoCommitModifier</span></a> *
ostree_repo_commit_modifier_ref (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepoCommitModifier" title="OstreeRepoCommitModifier"><span class="type">OstreeRepoCommitModifier</span></a> *modifier</code></em>);</pre>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-commit-modifier-unref"></a><h3>ostree_repo_commit_modifier_unref ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
ostree_repo_commit_modifier_unref (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepoCommitModifier" title="OstreeRepoCommitModifier"><span class="type">OstreeRepoCommitModifier</span></a> *modifier</code></em>);</pre>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-devino-cache-new"></a><h3>ostree_repo_devino_cache_new ()</h3>
<pre class="programlisting"><span class="returnvalue">OstreeRepoDevInoCache</span> *
ostree_repo_devino_cache_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>OSTree has support for pairing <a class="link" href="ostree-OstreeRepo.html#ostree-repo-checkout-tree-at" title="ostree_repo_checkout_tree_at ()"><code class="function">ostree_repo_checkout_tree_at()</code></a> using
hardlinks in combination with a later
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-write-directory-to-mtree" title="ostree_repo_write_directory_to_mtree ()"><code class="function">ostree_repo_write_directory_to_mtree()</code></a> using a (normally modified)
directory.  In order for OSTree to optimally detect just the new
files, use this function and fill in the <code class="literal">devino_to_csum_cache</code>
member of <code class="literal">OstreeRepoCheckoutAtOptions</code>, then call
<code class="function">ostree_repo_commit_set_devino_cache()</code>.</p>
<div class="refsect3">
<a name="ostree-repo-devino-cache-new.returns"></a><h4>Returns</h4>
<p>Newly allocated cache. </p>
<p><span class="annotation">[<a href="http://foldoc.org/transfer%20full"><span class="acronym">transfer full</span></a>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-devino-cache-ref"></a><h3>ostree_repo_devino_cache_ref ()</h3>
<pre class="programlisting"><span class="returnvalue">OstreeRepoDevInoCache</span> *
ostree_repo_devino_cache_ref (<em class="parameter"><code><span class="type">OstreeRepoDevInoCache</span> *cache</code></em>);</pre>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-devino-cache-unref"></a><h3>ostree_repo_devino_cache_unref ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
ostree_repo_devino_cache_unref (<em class="parameter"><code><span class="type">OstreeRepoDevInoCache</span> *cache</code></em>);</pre>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-devino-cache-get-type"></a><h3>ostree_repo_devino_cache_get_type ()</h3>
<pre class="programlisting"><span class="returnvalue">GType</span>
ostree_repo_devino_cache_get_type (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-write-directory-to-mtree"></a><h3>ostree_repo_write_directory_to_mtree ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_write_directory_to_mtree (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                                      <em class="parameter"><code><span class="type">GFile</span> *dir</code></em>,
                                      <em class="parameter"><code><a class="link" href="ostree-In-memory-modifiable-filesystem-tree.html#OstreeMutableTree" title="OstreeMutableTree"><span class="type">OstreeMutableTree</span></a> *mtree</code></em>,
                                      <em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepoCommitModifier" title="OstreeRepoCommitModifier"><span class="type">OstreeRepoCommitModifier</span></a> *modifier</code></em>,
                                      <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                                      <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Store objects for <em class="parameter"><code>dir</code></em>
 and all children into the repository <em class="parameter"><code>self</code></em>
,
overlaying the resulting filesystem hierarchy into <em class="parameter"><code>mtree</code></em>
.</p>
<div class="refsect3">
<a name="ostree-repo-write-directory-to-mtree.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>dir</p></td>
<td class="parameter_description"><p>Path to a directory</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>mtree</p></td>
<td class="parameter_description"><p>Overlay directory contents into this tree</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>modifier</p></td>
<td class="parameter_description"><p>Optional modifier. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/allow-none"><span class="acronym">allow-none</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>Cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-write-dfd-to-mtree"></a><h3>ostree_repo_write_dfd_to_mtree ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_write_dfd_to_mtree (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                                <em class="parameter"><code><span class="type">int</span> dfd</code></em>,
                                <em class="parameter"><code>const <span class="type">char</span> *path</code></em>,
                                <em class="parameter"><code><a class="link" href="ostree-In-memory-modifiable-filesystem-tree.html#OstreeMutableTree" title="OstreeMutableTree"><span class="type">OstreeMutableTree</span></a> *mtree</code></em>,
                                <em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepoCommitModifier" title="OstreeRepoCommitModifier"><span class="type">OstreeRepoCommitModifier</span></a> *modifier</code></em>,
                                <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                                <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Store as objects all contents of the directory referred to by <em class="parameter"><code>dfd</code></em>

and <em class="parameter"><code>path</code></em>
 all children into the repository <em class="parameter"><code>self</code></em>
, overlaying the
resulting filesystem hierarchy into <em class="parameter"><code>mtree</code></em>
.</p>
<div class="refsect3">
<a name="ostree-repo-write-dfd-to-mtree.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>dfd</p></td>
<td class="parameter_description"><p>Directory file descriptor</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>path</p></td>
<td class="parameter_description"><p>Path</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>mtree</p></td>
<td class="parameter_description"><p>Overlay directory contents into this tree</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>modifier</p></td>
<td class="parameter_description"><p>Optional modifier. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/allow-none"><span class="acronym">allow-none</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>Cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-write-archive-to-mtree"></a><h3>ostree_repo_write_archive_to_mtree ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_write_archive_to_mtree (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                                    <em class="parameter"><code><span class="type">GFile</span> *archive</code></em>,
                                    <em class="parameter"><code><a class="link" href="ostree-In-memory-modifiable-filesystem-tree.html#OstreeMutableTree" title="OstreeMutableTree"><span class="type">OstreeMutableTree</span></a> *mtree</code></em>,
                                    <em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepoCommitModifier" title="OstreeRepoCommitModifier"><span class="type">OstreeRepoCommitModifier</span></a> *modifier</code></em>,
                                    <em class="parameter"><code><span class="type">gboolean</span> autocreate_parents</code></em>,
                                    <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                                    <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Import an archive file <em class="parameter"><code>archive</code></em>
 into the repository, and write its
file structure to <em class="parameter"><code>mtree</code></em>
.</p>
<div class="refsect3">
<a name="ostree-repo-write-archive-to-mtree.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>An <a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>archive</p></td>
<td class="parameter_description"><p>A path to an archive file</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>mtree</p></td>
<td class="parameter_description"><p>The <a class="link" href="ostree-In-memory-modifiable-filesystem-tree.html#OstreeMutableTree" title="OstreeMutableTree"><span class="type">OstreeMutableTree</span></a> to write to</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>modifier</p></td>
<td class="parameter_description"><p>Optional commit modifier. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/allow-none"><span class="acronym">allow-none</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>autocreate_parents</p></td>
<td class="parameter_description"><p>Autocreate parent directories</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>Cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-write-archive-to-mtree-from-fd"></a><h3>ostree_repo_write_archive_to_mtree_from_fd ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_write_archive_to_mtree_from_fd
                               (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                                <em class="parameter"><code><span class="type">int</span> fd</code></em>,
                                <em class="parameter"><code><a class="link" href="ostree-In-memory-modifiable-filesystem-tree.html#OstreeMutableTree" title="OstreeMutableTree"><span class="type">OstreeMutableTree</span></a> *mtree</code></em>,
                                <em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepoCommitModifier" title="OstreeRepoCommitModifier"><span class="type">OstreeRepoCommitModifier</span></a> *modifier</code></em>,
                                <em class="parameter"><code><span class="type">gboolean</span> autocreate_parents</code></em>,
                                <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                                <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Read an archive from <em class="parameter"><code>fd</code></em>
 and import it into the repository, writing
its file structure to <em class="parameter"><code>mtree</code></em>
.</p>
<div class="refsect3">
<a name="ostree-repo-write-archive-to-mtree-from-fd.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>An <a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>fd</p></td>
<td class="parameter_description"><p>A file descriptor to read the archive from</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>mtree</p></td>
<td class="parameter_description"><p>The <a class="link" href="ostree-In-memory-modifiable-filesystem-tree.html#OstreeMutableTree" title="OstreeMutableTree"><span class="type">OstreeMutableTree</span></a> to write to</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>modifier</p></td>
<td class="parameter_description"><p>Optional commit modifier. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/allow-none"><span class="acronym">allow-none</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>autocreate_parents</p></td>
<td class="parameter_description"><p>Autocreate parent directories</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>Cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-write-mtree"></a><h3>ostree_repo_write_mtree ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_write_mtree (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                         <em class="parameter"><code><a class="link" href="ostree-In-memory-modifiable-filesystem-tree.html#OstreeMutableTree" title="OstreeMutableTree"><span class="type">OstreeMutableTree</span></a> *mtree</code></em>,
                         <em class="parameter"><code><span class="type">GFile</span> **out_file</code></em>,
                         <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                         <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Write all metadata objects for <em class="parameter"><code>mtree</code></em>
 to repo; the resulting
<em class="parameter"><code>out_file</code></em>
 points to the <a class="link" href="ostree-Core-repository-independent-functions.html#OSTREE-OBJECT-TYPE-DIR-TREE:CAPS"><code class="literal">OSTREE_OBJECT_TYPE_DIR_TREE</code></a> object that
the <em class="parameter"><code>mtree</code></em>
 represented.</p>
<div class="refsect3">
<a name="ostree-repo-write-mtree.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>mtree</p></td>
<td class="parameter_description"><p>Mutable tree</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>out_file</p></td>
<td class="parameter_description"><p>An <a class="link" href="ostree-ostree-repo-file.html#OstreeRepoFile" title="OstreeRepoFile"><span class="type">OstreeRepoFile</span></a> representing <em class="parameter"><code>mtree</code></em>
's root. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>Cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-write-commit"></a><h3>ostree_repo_write_commit ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_write_commit (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                          <em class="parameter"><code>const <span class="type">char</span> *parent</code></em>,
                          <em class="parameter"><code>const <span class="type">char</span> *subject</code></em>,
                          <em class="parameter"><code>const <span class="type">char</span> *body</code></em>,
                          <em class="parameter"><code><span class="type">GVariant</span> *metadata</code></em>,
                          <em class="parameter"><code><a class="link" href="ostree-ostree-repo-file.html#OstreeRepoFile" title="OstreeRepoFile"><span class="type">OstreeRepoFile</span></a> *root</code></em>,
                          <em class="parameter"><code><span class="type">char</span> **out_commit</code></em>,
                          <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                          <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Write a commit metadata object, referencing <em class="parameter"><code>root_contents_checksum</code></em>

and <em class="parameter"><code>root_metadata_checksum</code></em>
.
This uses the current time as the commit timestamp, but it can be
overridden with an explicit timestamp via the
<a class="ulink" href="https://reproducible-builds.org/specs/source-date-epoch/" target="_top">standard</a>
<code class="literal">SOURCE_DATE_EPOCH</code> environment flag.</p>
<div class="refsect3">
<a name="ostree-repo-write-commit.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>parent</p></td>
<td class="parameter_description"><p>ASCII SHA256 checksum for parent, or <code class="literal">NULL</code> for none. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/nullable"><span class="acronym">nullable</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>subject</p></td>
<td class="parameter_description"><p>Subject. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/nullable"><span class="acronym">nullable</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>body</p></td>
<td class="parameter_description"><p>Body. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/nullable"><span class="acronym">nullable</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>metadata</p></td>
<td class="parameter_description"><p>GVariant of type a{sv}, or <code class="literal">NULL</code> for none. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/nullable"><span class="acronym">nullable</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>root</p></td>
<td class="parameter_description"><p>The tree to point the commit to</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>out_commit</p></td>
<td class="parameter_description"><p>Resulting ASCII SHA256 checksum for
commit. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>][<a href="http://foldoc.org/optional"><span class="acronym">optional</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>Cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-write-commit-with-time"></a><h3>ostree_repo_write_commit_with_time ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_write_commit_with_time (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                                    <em class="parameter"><code>const <span class="type">char</span> *parent</code></em>,
                                    <em class="parameter"><code>const <span class="type">char</span> *subject</code></em>,
                                    <em class="parameter"><code>const <span class="type">char</span> *body</code></em>,
                                    <em class="parameter"><code><span class="type">GVariant</span> *metadata</code></em>,
                                    <em class="parameter"><code><a class="link" href="ostree-ostree-repo-file.html#OstreeRepoFile" title="OstreeRepoFile"><span class="type">OstreeRepoFile</span></a> *root</code></em>,
                                    <em class="parameter"><code><span class="type">guint64</span> time</code></em>,
                                    <em class="parameter"><code><span class="type">char</span> **out_commit</code></em>,
                                    <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                                    <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Write a commit metadata object, referencing <em class="parameter"><code>root_contents_checksum</code></em>

and <em class="parameter"><code>root_metadata_checksum</code></em>
.</p>
<div class="refsect3">
<a name="ostree-repo-write-commit-with-time.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>parent</p></td>
<td class="parameter_description"><p>ASCII SHA256 checksum for parent, or <code class="literal">NULL</code> for none. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/nullable"><span class="acronym">nullable</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>subject</p></td>
<td class="parameter_description"><p>Subject. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/nullable"><span class="acronym">nullable</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>body</p></td>
<td class="parameter_description"><p>Body. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/nullable"><span class="acronym">nullable</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>metadata</p></td>
<td class="parameter_description"><p>GVariant of type a{sv}, or <code class="literal">NULL</code> for none. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/nullable"><span class="acronym">nullable</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>root</p></td>
<td class="parameter_description"><p>The tree to point the commit to</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>time</p></td>
<td class="parameter_description"><p>The time to use to stamp the commit</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>out_commit</p></td>
<td class="parameter_description"><p>Resulting ASCII SHA256 checksum for
commit. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>][<a href="http://foldoc.org/optional"><span class="acronym">optional</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>Cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-read-commit-detached-metadata"></a><h3>ostree_repo_read_commit_detached_metadata ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_read_commit_detached_metadata
                               (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                                <em class="parameter"><code>const <span class="type">char</span> *checksum</code></em>,
                                <em class="parameter"><code><span class="type">GVariant</span> **out_metadata</code></em>,
                                <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                                <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>OSTree commits can have arbitrary metadata associated; this
function retrieves them.  If none exists, <em class="parameter"><code>out_metadata</code></em>
 will be set
to <code class="literal">NULL</code>.</p>
<div class="refsect3">
<a name="ostree-repo-read-commit-detached-metadata.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>checksum</p></td>
<td class="parameter_description"><p>ASCII SHA256 commit checksum</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>out_metadata</p></td>
<td class="parameter_description"><p>Metadata associated with commit in with format
"a{sv}", or <code class="literal">NULL</code> if none exists. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>][<a href="http://foldoc.org/nullable"><span class="acronym">nullable</span></a>][<a href="http://foldoc.org/transfer%20full"><span class="acronym">transfer full</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>Cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-write-commit-detached-metadata"></a><h3>ostree_repo_write_commit_detached_metadata ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_write_commit_detached_metadata
                               (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                                <em class="parameter"><code>const <span class="type">char</span> *checksum</code></em>,
                                <em class="parameter"><code><span class="type">GVariant</span> *metadata</code></em>,
                                <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                                <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Replace any existing metadata associated with commit referred to by
<em class="parameter"><code>checksum</code></em>
 with <em class="parameter"><code>metadata</code></em>
.  If <em class="parameter"><code>metadata</code></em>
 is <code class="literal">NULL</code>, then existing
data will be deleted.</p>
<div class="refsect3">
<a name="ostree-repo-write-commit-detached-metadata.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>checksum</p></td>
<td class="parameter_description"><p>ASCII SHA256 commit checksum</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>metadata</p></td>
<td class="parameter_description"><p>Metadata to associate with commit in with format "a{sv}", or <code class="literal">NULL</code> to
delete. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/nullable"><span class="acronym">nullable</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>Cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-commit-add-composefs-metadata"></a><h3>ostree_repo_commit_add_composefs_metadata ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_commit_add_composefs_metadata
                               (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                                <em class="parameter"><code><span class="type">guint</span> format_version</code></em>,
                                <em class="parameter"><code><span class="type">GVariantDict</span> *dict</code></em>,
                                <em class="parameter"><code><a class="link" href="ostree-ostree-repo-file.html#OstreeRepoFile" title="OstreeRepoFile"><span class="type">OstreeRepoFile</span></a> *repo_root</code></em>,
                                <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                                <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Compute the composefs digest for a filesystem tree
and insert it into metadata for a commit object.  The composefs
digest covers the entire filesystem tree and can be verified by
the composefs mount tooling.</p>
<div class="refsect3">
<a name="ostree-repo-commit-add-composefs-metadata.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>format_version</p></td>
<td class="parameter_description"><p>Must be zero</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>dict</p></td>
<td class="parameter_description"><p>A GVariant builder of type a{sv}</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>repo_root</p></td>
<td class="parameter_description"><p>the target filesystem tree</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>Cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-checkout-at-options-set-devino"></a><h3>ostree_repo_checkout_at_options_set_devino ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
ostree_repo_checkout_at_options_set_devino
                               (<em class="parameter"><code><span class="type">OstreeRepoCheckoutAtOptions</span> *opts</code></em>,
                                <em class="parameter"><code><span class="type">OstreeRepoDevInoCache</span> *cache</code></em>);</pre>
<p>This function simply assigns <em class="parameter"><code>cache</code></em>
 to the <code class="literal">devino_to_csum_cache</code> member of
<em class="parameter"><code>opts</code></em>
; it's only useful for introspection.</p>
<p>Note that cache does *not* have its refcount incremented - the lifetime of
<em class="parameter"><code>cache</code></em>
 must be equal to or greater than that of <em class="parameter"><code>opts</code></em>
.</p>
<div class="refsect3">
<a name="ostree-repo-checkout-at-options-set-devino.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>opts</p></td>
<td class="parameter_description"><p>Checkout options</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>cache</p></td>
<td class="parameter_description"><p>Devino cache. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/transfer%20none"><span class="acronym">transfer none</span></a>][<a href="http://foldoc.org/nullable"><span class="acronym">nullable</span></a>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: 2017.13</p>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-checkout-tree"></a><h3>ostree_repo_checkout_tree ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_checkout_tree (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                           <em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepoCheckoutMode" title="enum OstreeRepoCheckoutMode"><span class="type">OstreeRepoCheckoutMode</span></a> mode</code></em>,
                           <em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepoCheckoutOverwriteMode" title="enum OstreeRepoCheckoutOverwriteMode"><span class="type">OstreeRepoCheckoutOverwriteMode</span></a> overwrite_mode</code></em>,
                           <em class="parameter"><code><span class="type">GFile</span> *destination</code></em>,
                           <em class="parameter"><code><a class="link" href="ostree-ostree-repo-file.html#OstreeRepoFile" title="OstreeRepoFile"><span class="type">OstreeRepoFile</span></a> *source</code></em>,
                           <em class="parameter"><code><span class="type">GFileInfo</span> *source_info</code></em>,
                           <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                           <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Check out <em class="parameter"><code>source</code></em>
 into <em class="parameter"><code>destination</code></em>
, which must live on the
physical filesystem.  <em class="parameter"><code>source</code></em>
 may be any subdirectory of a given
commit.  The <em class="parameter"><code>mode</code></em>
 and <em class="parameter"><code>overwrite_mode</code></em>
 allow control over how the
files are checked out.</p>
<div class="refsect3">
<a name="ostree-repo-checkout-tree.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>mode</p></td>
<td class="parameter_description"><p>Options controlling all files</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>overwrite_mode</p></td>
<td class="parameter_description"><p>Whether or not to overwrite files</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>destination</p></td>
<td class="parameter_description"><p>Place tree here</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>source</p></td>
<td class="parameter_description"><p>Source tree</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>source_info</p></td>
<td class="parameter_description"><p>Source info</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>Cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-checkout-tree-at"></a><h3>ostree_repo_checkout_tree_at ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_checkout_tree_at (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                              <em class="parameter"><code><span class="type">OstreeRepoCheckoutOptions</span> *options</code></em>,
                              <em class="parameter"><code><span class="type">int</span> destination_dfd</code></em>,
                              <em class="parameter"><code>const <span class="type">char</span> *destination_path</code></em>,
                              <em class="parameter"><code>const <span class="type">char</span> *commit</code></em>,
                              <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                              <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<div class="warning"><p><code class="literal">ostree_repo_checkout_tree_at</code> is deprecated and should not be used in newly-written code.</p></div>
<p>Similar to <a class="link" href="ostree-OstreeRepo.html#ostree-repo-checkout-tree" title="ostree_repo_checkout_tree ()"><code class="function">ostree_repo_checkout_tree()</code></a>, but uses directory-relative
paths for the destination, uses a new <code class="literal">OstreeRepoCheckoutAtOptions</code>,
and takes a commit checksum and optional subpath pair, rather than
requiring use of <code class="literal">GFile</code> APIs for the caller.</p>
<p>Note in addition that unlike <a class="link" href="ostree-OstreeRepo.html#ostree-repo-checkout-tree" title="ostree_repo_checkout_tree ()"><code class="function">ostree_repo_checkout_tree()</code></a>, the
default is not to use the repository-internal uncompressed objects
cache.</p>
<p>This function is deprecated.  Use <a class="link" href="ostree-OstreeRepo.html#ostree-repo-checkout-at" title="ostree_repo_checkout_at ()"><code class="function">ostree_repo_checkout_at()</code></a> instead.</p>
<p><span class="annotation">[<a href="http://foldoc.org/skip"><span class="acronym">skip</span></a>]</span></p>
<div class="refsect3">
<a name="ostree-repo-checkout-tree-at.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>options</p></td>
<td class="parameter_description"><p>Options. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/allow-none"><span class="acronym">allow-none</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>destination_dfd</p></td>
<td class="parameter_description"><p>Directory FD for destination</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>destination_path</p></td>
<td class="parameter_description"><p>Directory for destination</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>commit</p></td>
<td class="parameter_description"><p>Checksum for commit</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>Cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-checkout-at"></a><h3>ostree_repo_checkout_at ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_checkout_at (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                         <em class="parameter"><code><span class="type">OstreeRepoCheckoutAtOptions</span> *options</code></em>,
                         <em class="parameter"><code><span class="type">int</span> destination_dfd</code></em>,
                         <em class="parameter"><code>const <span class="type">char</span> *destination_path</code></em>,
                         <em class="parameter"><code>const <span class="type">char</span> *commit</code></em>,
                         <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                         <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Similar to <a class="link" href="ostree-OstreeRepo.html#ostree-repo-checkout-tree" title="ostree_repo_checkout_tree ()"><code class="function">ostree_repo_checkout_tree()</code></a>, but uses directory-relative
paths for the destination, uses a new <code class="literal">OstreeRepoCheckoutAtOptions</code>,
and takes a commit checksum and optional subpath pair, rather than
requiring use of <code class="literal">GFile</code> APIs for the caller.</p>
<p>It also replaces <a class="link" href="ostree-OstreeRepo.html#ostree-repo-checkout-at" title="ostree_repo_checkout_at ()"><code class="function">ostree_repo_checkout_at()</code></a> which was not safe to
use with GObject introspection.</p>
<p>Note in addition that unlike <a class="link" href="ostree-OstreeRepo.html#ostree-repo-checkout-tree" title="ostree_repo_checkout_tree ()"><code class="function">ostree_repo_checkout_tree()</code></a>, the
default is not to use the repository-internal uncompressed objects
cache.</p>
<div class="refsect3">
<a name="ostree-repo-checkout-at.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>options</p></td>
<td class="parameter_description"><p>Options. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/allow-none"><span class="acronym">allow-none</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>destination_dfd</p></td>
<td class="parameter_description"><p>Directory FD for destination</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>destination_path</p></td>
<td class="parameter_description"><p>Directory for destination</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>commit</p></td>
<td class="parameter_description"><p>Checksum for commit</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>Cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: 2016.8</p>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-checkout-gc"></a><h3>ostree_repo_checkout_gc ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_checkout_gc (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                         <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                         <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Call this after finishing a succession of checkout operations; it
will delete any currently-unused uncompressed objects from the
cache.</p>
<div class="refsect3">
<a name="ostree-repo-checkout-gc.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>Cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-read-commit"></a><h3>ostree_repo_read_commit ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_read_commit (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                         <em class="parameter"><code>const <span class="type">char</span> *ref</code></em>,
                         <em class="parameter"><code><span class="type">GFile</span> **out_root</code></em>,
                         <em class="parameter"><code><span class="type">char</span> **out_commit</code></em>,
                         <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                         <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Load the content for <em class="parameter"><code>rev</code></em>
 into <em class="parameter"><code>out_root</code></em>
.</p>
<div class="refsect3">
<a name="ostree-repo-read-commit.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>ref</p></td>
<td class="parameter_description"><p>Ref or ASCII checksum</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>out_root</p></td>
<td class="parameter_description"><p>An <a class="link" href="ostree-ostree-repo-file.html#OstreeRepoFile" title="OstreeRepoFile"><span class="type">OstreeRepoFile</span></a> corresponding to the root. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>][<a href="http://foldoc.org/optional"><span class="acronym">optional</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>out_commit</p></td>
<td class="parameter_description"><p>The resolved commit checksum. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>][<a href="http://foldoc.org/optional"><span class="acronym">optional</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>Cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-list-objects"></a><h3>ostree_repo_list_objects ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_list_objects (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                          <em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepoListObjectsFlags" title="enum OstreeRepoListObjectsFlags"><span class="type">OstreeRepoListObjectsFlags</span></a> flags</code></em>,
                          <em class="parameter"><code><span class="type">GHashTable</span> **out_objects</code></em>,
                          <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                          <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>This function synchronously enumerates all objects in the
repository, returning data in <em class="parameter"><code>out_objects</code></em>
.  <em class="parameter"><code>out_objects</code></em>

maps from keys returned by <a class="link" href="ostree-Core-repository-independent-functions.html#ostree-object-name-serialize" title="ostree_object_name_serialize ()"><code class="function">ostree_object_name_serialize()</code></a>
to <span class="type">GVariant</span> values of type <a class="link" href="ostree-OstreeRepo.html#OSTREE-REPO-LIST-OBJECTS-VARIANT-TYPE:CAPS" title="OSTREE_REPO_LIST_OBJECTS_VARIANT_TYPE"><code class="literal">OSTREE_REPO_LIST_OBJECTS_VARIANT_TYPE</code></a>.</p>
<div class="refsect3">
<a name="ostree-repo-list-objects.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>flags</p></td>
<td class="parameter_description"><p>Flags controlling enumeration</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>out_objects</p></td>
<td class="parameter_description"><p>Map of serialized object name to variant data. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>][<a href="http://foldoc.org/transfer%20container"><span class="acronym">transfer container</span></a>][<a href="http://foldoc.org/element-type"><span class="acronym">element-type</span></a> GVariant GVariant]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>Cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="ostree-repo-list-objects.returns"></a><h4>Returns</h4>
<p> <code class="literal">TRUE</code> on success, <code class="literal">FALSE</code> on error, and <em class="parameter"><code>error</code></em>
will be set</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-list-commit-objects-starting-with"></a><h3>ostree_repo_list_commit_objects_starting_with ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_list_commit_objects_starting_with
                               (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                                <em class="parameter"><code>const <span class="type">char</span> *start</code></em>,
                                <em class="parameter"><code><span class="type">GHashTable</span> **out_commits</code></em>,
                                <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                                <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>This function synchronously enumerates all commit objects starting
with <em class="parameter"><code>start</code></em>
, returning data in <em class="parameter"><code>out_commits</code></em>
.</p>
<p>To list all commit objects, provide the empty string <code class="literal">""</code> for <em class="parameter"><code>start</code></em>
.</p>
<div class="refsect3">
<a name="ostree-repo-list-commit-objects-starting-with.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>start</p></td>
<td class="parameter_description"><p>List commits starting with this checksum (empty string for all)</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>out_commits</p></td>
<td class="parameter_description"><p>Map of serialized commit name to variant data. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>][<a href="http://foldoc.org/transfer%20container"><span class="acronym">transfer container</span></a>][<a href="http://foldoc.org/element-type"><span class="acronym">element-type</span></a> GVariant GVariant]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>Cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="ostree-repo-list-commit-objects-starting-with.returns"></a><h4>Returns</h4>
<p> <code class="literal">TRUE</code> on success, <code class="literal">FALSE</code> on error, and <em class="parameter"><code>error</code></em>
will be set</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-list-static-delta-names"></a><h3>ostree_repo_list_static_delta_names ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_list_static_delta_names (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                                     <em class="parameter"><code><span class="type">GPtrArray</span> **out_deltas</code></em>,
                                     <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                                     <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>This function synchronously enumerates all static deltas in the
repository, returning its result in <em class="parameter"><code>out_deltas</code></em>
.</p>
<div class="refsect3">
<a name="ostree-repo-list-static-delta-names.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>out_deltas</p></td>
<td class="parameter_description"><p>String name of deltas
(checksum-checksum.delta). </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>][<a href="http://foldoc.org/element-type"><span class="acronym">element-type</span></a> utf8][<a href="http://foldoc.org/transfer%20container"><span class="acronym">transfer container</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>Cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-list-static-delta-indexes"></a><h3>ostree_repo_list_static_delta_indexes ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_list_static_delta_indexes (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                                       <em class="parameter"><code><span class="type">GPtrArray</span> **out_indexes</code></em>,
                                       <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                                       <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>This function synchronously enumerates all static delta indexes in the
repository, returning its result in <em class="parameter"><code>out_indexes</code></em>
.</p>
<div class="refsect3">
<a name="ostree-repo-list-static-delta-indexes.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>out_indexes</p></td>
<td class="parameter_description"><p>String name of delta indexes
(checksum). </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>][<a href="http://foldoc.org/element-type"><span class="acronym">element-type</span></a> utf8][<a href="http://foldoc.org/transfer%20container"><span class="acronym">transfer container</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>Cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: 2020.8</p>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-static-delta-reindex"></a><h3>ostree_repo_static_delta_reindex ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_static_delta_reindex (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *repo</code></em>,
                                  <em class="parameter"><code><span class="type">OstreeStaticDeltaIndexFlags</span> flags</code></em>,
                                  <em class="parameter"><code>const <span class="type">char</span> *opt_to_commit</code></em>,
                                  <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                                  <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>The delta index for a particular commit lists all the existing deltas that can be used
when downloading that commit. This operation regenerates these indexes, either for
a particular commit (if <em class="parameter"><code>opt_to_commit</code></em>
 is non-<code class="literal">NULL</code>), or for all commits that
are reachable by an existing delta (if <em class="parameter"><code>opt_to_commit</code></em>
 is <code class="literal">NULL</code>).</p>
<p>This is normally called automatically when the summary is updated in
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-regenerate-summary" title="ostree_repo_regenerate_summary ()"><code class="function">ostree_repo_regenerate_summary()</code></a>.</p>
<p>Locking: shared</p>
<div class="refsect3">
<a name="ostree-repo-static-delta-reindex.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>repo</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>flags</p></td>
<td class="parameter_description"><p>Flags affecting the indexing operation</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>opt_to_commit</p></td>
<td class="parameter_description"><p>ASCII SHA256 checksum of target commit, or <code class="literal">NULL</code> to index all targets</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>Cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: 2020.8</p>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-static-delta-generate"></a><h3>ostree_repo_static_delta_generate ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_static_delta_generate (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                                   <em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeStaticDeltaGenerateOpt" title="enum OstreeStaticDeltaGenerateOpt"><span class="type">OstreeStaticDeltaGenerateOpt</span></a> opt</code></em>,
                                   <em class="parameter"><code>const <span class="type">char</span> *from</code></em>,
                                   <em class="parameter"><code>const <span class="type">char</span> *to</code></em>,
                                   <em class="parameter"><code><span class="type">GVariant</span> *metadata</code></em>,
                                   <em class="parameter"><code><span class="type">GVariant</span> *params</code></em>,
                                   <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                                   <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Generate a lookaside "static delta" from <em class="parameter"><code>from</code></em>
 (<code class="literal">NULL</code> means
from-empty) which can generate the objects in <em class="parameter"><code>to</code></em>
.  This delta is
an optimization over fetching individual objects, and can be
conveniently stored and applied offline.</p>
<p>The <em class="parameter"><code>params</code></em>
 argument should be an a{sv}.  The following attributes
are known:</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem"><p>min-fallback-size: u: Minimum uncompressed size in megabytes to use fallback, 0 to disable
fallbacks</p></li>
<li class="listitem"><p>max-chunk-size: u: Maximum size in megabytes of a delta part</p></li>
<li class="listitem"><p>max-bsdiff-size: u: Maximum size in megabytes to consider bsdiff compression
for input files</p></li>
<li class="listitem"><p>compression: y: Compression type: 0=none, x=lzma, g=gzip</p></li>
<li class="listitem"><p>bsdiff-enabled: b: Enable bsdiff compression.  Default TRUE.</p></li>
<li class="listitem"><p>inline-parts: b: Put part data in header, to get a single file delta.  Default FALSE.</p></li>
<li class="listitem"><p>verbose: b: Print diagnostic messages.  Default FALSE.</p></li>
<li class="listitem"><p>endianness: b: Deltas use host byte order by default; this option allows choosing
(G_BIG_ENDIAN or G_LITTLE_ENDIAN)</p></li>
<li class="listitem"><p>filename: ^ay: Save delta superblock to this filename (bytestring), and parts in the same
directory.  Default saves to repository.</p></li>
<li class="listitem"><p>sign-name: ^ay: Signature type to use (bytestring).</p></li>
<li class="listitem"><p>sign-key-ids: ^as: NULL-terminated array of keys used to sign delta superblock.</p></li>
</ul></div>
<div class="refsect3">
<a name="ostree-repo-static-delta-generate.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>opt</p></td>
<td class="parameter_description"><p>High level optimization choice</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>from</p></td>
<td class="parameter_description"><p>ASCII SHA256 checksum of origin, or <code class="literal">NULL</code>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/nullable"><span class="acronym">nullable</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>to</p></td>
<td class="parameter_description"><p>ASCII SHA256 checksum of target</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>metadata</p></td>
<td class="parameter_description"><p>Optional metadata. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/nullable"><span class="acronym">nullable</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>params</p></td>
<td class="parameter_description"><p>Parameters, see below. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/nullable"><span class="acronym">nullable</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>Cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-static-delta-execute-offline-with-signature"></a><h3>ostree_repo_static_delta_execute_offline_with_signature ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_static_delta_execute_offline_with_signature
                               (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                                <em class="parameter"><code><span class="type">GFile</span> *dir_or_file</code></em>,
                                <em class="parameter"><code><a class="link" href="ostree-Signature-management.html#OstreeSign" title="OstreeSign"><span class="type">OstreeSign</span></a> *sign</code></em>,
                                <em class="parameter"><code><span class="type">gboolean</span> skip_validation</code></em>,
                                <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                                <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Given a directory representing an already-downloaded static delta
on disk, apply it, generating a new commit.
If sign is passed, the static delta signature is verified.
If sign-verify-deltas configuration option is set and static delta is signed,
signature verification will be mandatory before apply the static delta.
The directory must be named with the form "FROM-TO", where both are
checksums, and it must contain a file named "superblock", along with at least
one part.</p>
<div class="refsect3">
<a name="ostree-repo-static-delta-execute-offline-with-signature.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>dir_or_file</p></td>
<td class="parameter_description"><p>Path to a directory containing static delta data, or directly to the superblock</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>sign</p></td>
<td class="parameter_description"><p>Signature engine used to check superblock</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>skip_validation</p></td>
<td class="parameter_description"><p>If <code class="literal">TRUE</code>, assume data integrity</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>Cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: 2020.7</p>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-static-delta-execute-offline"></a><h3>ostree_repo_static_delta_execute_offline ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_static_delta_execute_offline
                               (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                                <em class="parameter"><code><span class="type">GFile</span> *dir_or_file</code></em>,
                                <em class="parameter"><code><span class="type">gboolean</span> skip_validation</code></em>,
                                <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                                <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Given a directory representing an already-downloaded static delta
on disk, apply it, generating a new commit.  The directory must be
named with the form "FROM-TO", where both are checksums, and it
must contain a file named "superblock", along with at least one part.</p>
<div class="refsect3">
<a name="ostree-repo-static-delta-execute-offline.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>dir_or_file</p></td>
<td class="parameter_description"><p>Path to a directory containing static delta data, or directly to the superblock</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>skip_validation</p></td>
<td class="parameter_description"><p>If <code class="literal">TRUE</code>, assume data integrity</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>Cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-static-delta-verify-signature"></a><h3>ostree_repo_static_delta_verify_signature ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_static_delta_verify_signature
                               (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                                <em class="parameter"><code>const <span class="type">char</span> *delta_id</code></em>,
                                <em class="parameter"><code><a class="link" href="ostree-Signature-management.html#OstreeSign" title="OstreeSign"><span class="type">OstreeSign</span></a> *sign</code></em>,
                                <em class="parameter"><code><span class="type">char</span> **out_success_message</code></em>,
                                <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Verify static delta file signature.</p>
<div class="refsect3">
<a name="ostree-repo-static-delta-verify-signature.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>delta_id</p></td>
<td class="parameter_description"><p>delta path</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>sign</p></td>
<td class="parameter_description"><p>Signature engine used to check superblock</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>out_success_message</p></td>
<td class="parameter_description"><p>success message. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>][<a href="http://foldoc.org/nullable"><span class="acronym">nullable</span></a>][<a href="http://foldoc.org/optional"><span class="acronym">optional</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="ostree-repo-static-delta-verify-signature.returns"></a><h4>Returns</h4>
<p> TRUE if the signature of static delta file is valid using the
signature engine provided, FALSE otherwise.</p>
</div>
<p class="since">Since: 2020.7</p>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-traverse-new-reachable"></a><h3>ostree_repo_traverse_new_reachable ()</h3>
<pre class="programlisting"><span class="returnvalue">GHashTable</span> *
ostree_repo_traverse_new_reachable (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>This hash table is a set of <span class="type">GVariant</span> which can be accessed via
<a class="link" href="ostree-Core-repository-independent-functions.html#ostree-object-name-deserialize" title="ostree_object_name_deserialize ()"><code class="function">ostree_object_name_deserialize()</code></a>.</p>
<div class="refsect3">
<a name="ostree-repo-traverse-new-reachable.returns"></a><h4>Returns</h4>
<p>A new hash table. </p>
<p><span class="annotation">[<a href="http://foldoc.org/transfer%20container"><span class="acronym">transfer container</span></a>][<a href="http://foldoc.org/element-type"><span class="acronym">element-type</span></a> GVariant GVariant]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-traverse-new-parents"></a><h3>ostree_repo_traverse_new_parents ()</h3>
<pre class="programlisting"><span class="returnvalue">GHashTable</span> *
ostree_repo_traverse_new_parents (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>This hash table is a mapping from <span class="type">GVariant</span> which can be accessed
via <a class="link" href="ostree-Core-repository-independent-functions.html#ostree-object-name-deserialize" title="ostree_object_name_deserialize ()"><code class="function">ostree_object_name_deserialize()</code></a> to a <span class="type">GVariant</span> containing either
a similar <span class="type">GVariant</span> or and array of them, listing the parents of the key.</p>
<div class="refsect3">
<a name="ostree-repo-traverse-new-parents.returns"></a><h4>Returns</h4>
<p>A new hash table. </p>
<p><span class="annotation">[<a href="http://foldoc.org/transfer%20container"><span class="acronym">transfer container</span></a>][<a href="http://foldoc.org/element-type"><span class="acronym">element-type</span></a> GVariant GVariant]</span></p>
</div>
<p class="since">Since: 2018.5</p>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-traverse-parents-get-commits"></a><h3>ostree_repo_traverse_parents_get_commits ()</h3>
<pre class="programlisting"><span class="returnvalue">char</span> **
ostree_repo_traverse_parents_get_commits
                               (<em class="parameter"><code><span class="type">GHashTable</span> *parents</code></em>,
                                <em class="parameter"><code><span class="type">GVariant</span> *object</code></em>);</pre>
<p>Gets all the commits that a certain object belongs to, as recorded
by a parents table gotten from ostree_repo_traverse_commit_union_with_parents.</p>
<div class="refsect3">
<a name="ostree-repo-traverse-parents-get-commits.returns"></a><h4>Returns</h4>
<p>An array of checksums for
the commits the key belongs to. </p>
<p><span class="annotation">[<a href="http://foldoc.org/transfer%20full"><span class="acronym">transfer full</span></a>][<a href="http://foldoc.org/array"><span class="acronym">array</span></a> zero-terminated=1]</span></p>
</div>
<p class="since">Since: 2018.5</p>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-traverse-commit"></a><h3>ostree_repo_traverse_commit ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_traverse_commit (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *repo</code></em>,
                             <em class="parameter"><code>const <span class="type">char</span> *commit_checksum</code></em>,
                             <em class="parameter"><code><span class="type">int</span> maxdepth</code></em>,
                             <em class="parameter"><code><span class="type">GHashTable</span> **out_reachable</code></em>,
                             <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                             <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Create a new set <em class="parameter"><code>out_reachable</code></em>
 containing all objects reachable
from <em class="parameter"><code>commit_checksum</code></em>
, traversing <em class="parameter"><code>maxdepth</code></em>
 parent commits.</p>
<div class="refsect3">
<a name="ostree-repo-traverse-commit.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>repo</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>commit_checksum</p></td>
<td class="parameter_description"><p>ASCII SHA256 checksum</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>maxdepth</p></td>
<td class="parameter_description"><p>Traverse this many parent commits, -1 for unlimited</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>out_reachable</p></td>
<td class="parameter_description"><p>Set of reachable
objects. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>][<a href="http://foldoc.org/transfer%20container"><span class="acronym">transfer container</span></a>][<a href="http://foldoc.org/element-type"><span class="acronym">element-type</span></a> GVariant GVariant]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>Cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-traverse-commit-union"></a><h3>ostree_repo_traverse_commit_union ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_traverse_commit_union (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *repo</code></em>,
                                   <em class="parameter"><code>const <span class="type">char</span> *commit_checksum</code></em>,
                                   <em class="parameter"><code><span class="type">int</span> maxdepth</code></em>,
                                   <em class="parameter"><code><span class="type">GHashTable</span> *inout_reachable</code></em>,
                                   <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                                   <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Update the set <em class="parameter"><code>inout_reachable</code></em>
 containing all objects reachable
from <em class="parameter"><code>commit_checksum</code></em>
, traversing <em class="parameter"><code>maxdepth</code></em>
 parent commits.</p>
<p><span class="annotation">[<a href="http://foldoc.org/skip"><span class="acronym">skip</span></a>]</span></p>
<div class="refsect3">
<a name="ostree-repo-traverse-commit-union.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>repo</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>commit_checksum</p></td>
<td class="parameter_description"><p>ASCII SHA256 checksum</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>maxdepth</p></td>
<td class="parameter_description"><p>Traverse this many parent commits, -1 for unlimited</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>inout_reachable</p></td>
<td class="parameter_description"><p>Set of reachable objects</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>Cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-traverse-commit-union-with-parents"></a><h3>ostree_repo_traverse_commit_union_with_parents ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_traverse_commit_union_with_parents
                               (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *repo</code></em>,
                                <em class="parameter"><code>const <span class="type">char</span> *commit_checksum</code></em>,
                                <em class="parameter"><code><span class="type">int</span> maxdepth</code></em>,
                                <em class="parameter"><code><span class="type">GHashTable</span> *inout_reachable</code></em>,
                                <em class="parameter"><code><span class="type">GHashTable</span> *inout_parents</code></em>,
                                <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                                <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Update the set <em class="parameter"><code>inout_reachable</code></em>
 containing all objects reachable
from <em class="parameter"><code>commit_checksum</code></em>
, traversing <em class="parameter"><code>maxdepth</code></em>
 parent commits.</p>
<p>Additionally this constructs a mapping from each object to the parents
of the object, which can be used to track which commits an object
belongs to.</p>
<p><span class="annotation">[<a href="http://foldoc.org/skip"><span class="acronym">skip</span></a>]</span></p>
<div class="refsect3">
<a name="ostree-repo-traverse-commit-union-with-parents.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>repo</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>commit_checksum</p></td>
<td class="parameter_description"><p>ASCII SHA256 checksum</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>maxdepth</p></td>
<td class="parameter_description"><p>Traverse this many parent commits, -1 for unlimited</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>inout_reachable</p></td>
<td class="parameter_description"><p>Set of reachable objects</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>inout_parents</p></td>
<td class="parameter_description"><p>Map from object to parent object</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>Cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: 2018.5</p>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-traverse-commit-with-flags"></a><h3>ostree_repo_traverse_commit_with_flags ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_traverse_commit_with_flags
                               (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *repo</code></em>,
                                <em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepoCommitTraverseFlags" title="enum OstreeRepoCommitTraverseFlags"><span class="type">OstreeRepoCommitTraverseFlags</span></a> flags</code></em>,
                                <em class="parameter"><code>const <span class="type">char</span> *commit_checksum</code></em>,
                                <em class="parameter"><code><span class="type">int</span> maxdepth</code></em>,
                                <em class="parameter"><code><span class="type">GHashTable</span> *inout_reachable</code></em>,
                                <em class="parameter"><code><span class="type">GHashTable</span> *inout_parents</code></em>,
                                <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                                <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Update the set <em class="parameter"><code>inout_reachable</code></em>
 containing all objects reachable
from <em class="parameter"><code>commit_checksum</code></em>
, traversing <em class="parameter"><code>maxdepth</code></em>
 parent commits.</p>
<p>Additionally this constructs a mapping from each object to the parents
of the object, which can be used to track which commits an object
belongs to.</p>
<p><span class="annotation">[<a href="http://foldoc.org/skip"><span class="acronym">skip</span></a>]</span></p>
<div class="refsect3">
<a name="ostree-repo-traverse-commit-with-flags.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>repo</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>flags</p></td>
<td class="parameter_description"><p>change traversal behaviour according to these flags</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>commit_checksum</p></td>
<td class="parameter_description"><p>ASCII SHA256 checksum</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>maxdepth</p></td>
<td class="parameter_description"><p>Traverse this many parent commits, -1 for unlimited</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>inout_reachable</p></td>
<td class="parameter_description"><p>Set of reachable objects</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>inout_parents</p></td>
<td class="parameter_description"><p>Map from object to parent object</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>Cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: 2018.5</p>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-commit-traverse-iter-cleanup"></a><h3>ostree_repo_commit_traverse_iter_cleanup ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
ostree_repo_commit_traverse_iter_cleanup
                               (<em class="parameter"><code><span class="type">void</span> *p</code></em>);</pre>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-commit-traverse-iter-clear"></a><h3>ostree_repo_commit_traverse_iter_clear ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
ostree_repo_commit_traverse_iter_clear
                               (<em class="parameter"><code><span class="type">OstreeRepoCommitTraverseIter</span> *iter</code></em>);</pre>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-commit-traverse-iter-get-dir"></a><h3>ostree_repo_commit_traverse_iter_get_dir ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
ostree_repo_commit_traverse_iter_get_dir
                               (<em class="parameter"><code><span class="type">OstreeRepoCommitTraverseIter</span> *iter</code></em>,
                                <em class="parameter"><code><span class="type">char</span> **out_name</code></em>,
                                <em class="parameter"><code><span class="type">char</span> **out_content_checksum</code></em>,
                                <em class="parameter"><code><span class="type">char</span> **out_meta_checksum</code></em>);</pre>
<p>Return information on the current directory.  This function may
only be called if <a class="link" href="ostree-OstreeRepo.html#OSTREE-REPO-COMMIT-ITER-RESULT-DIR:CAPS"><code class="literal">OSTREE_REPO_COMMIT_ITER_RESULT_DIR</code></a> was returned
from <a class="link" href="ostree-OstreeRepo.html#ostree-repo-commit-traverse-iter-next" title="ostree_repo_commit_traverse_iter_next ()"><code class="function">ostree_repo_commit_traverse_iter_next()</code></a>.</p>
<div class="refsect3">
<a name="ostree-repo-commit-traverse-iter-get-dir.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>iter</p></td>
<td class="parameter_description"><p>An iter</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>out_name</p></td>
<td class="parameter_description"><p>Name of current dir. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>][<a href="http://foldoc.org/transfer%20none"><span class="acronym">transfer none</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>out_content_checksum</p></td>
<td class="parameter_description"><p>Checksum of current content. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>][<a href="http://foldoc.org/transfer%20none"><span class="acronym">transfer none</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>out_meta_checksum</p></td>
<td class="parameter_description"><p>Checksum of current metadata. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>][<a href="http://foldoc.org/transfer%20none"><span class="acronym">transfer none</span></a>]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-commit-traverse-iter-get-file"></a><h3>ostree_repo_commit_traverse_iter_get_file ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
ostree_repo_commit_traverse_iter_get_file
                               (<em class="parameter"><code><span class="type">OstreeRepoCommitTraverseIter</span> *iter</code></em>,
                                <em class="parameter"><code><span class="type">char</span> **out_name</code></em>,
                                <em class="parameter"><code><span class="type">char</span> **out_checksum</code></em>);</pre>
<p>Return information on the current file.  This function may only be
called if <a class="link" href="ostree-OstreeRepo.html#OSTREE-REPO-COMMIT-ITER-RESULT-FILE:CAPS"><code class="literal">OSTREE_REPO_COMMIT_ITER_RESULT_FILE</code></a> was returned from
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-commit-traverse-iter-next" title="ostree_repo_commit_traverse_iter_next ()"><code class="function">ostree_repo_commit_traverse_iter_next()</code></a>.</p>
<div class="refsect3">
<a name="ostree-repo-commit-traverse-iter-get-file.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>iter</p></td>
<td class="parameter_description"><p>An iter</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>out_name</p></td>
<td class="parameter_description"><p>Name of current file. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>][<a href="http://foldoc.org/transfer%20none"><span class="acronym">transfer none</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>out_checksum</p></td>
<td class="parameter_description"><p>Checksum of current file. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>][<a href="http://foldoc.org/transfer%20none"><span class="acronym">transfer none</span></a>]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-commit-traverse-iter-init-commit"></a><h3>ostree_repo_commit_traverse_iter_init_commit ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_commit_traverse_iter_init_commit
                               (<em class="parameter"><code><span class="type">OstreeRepoCommitTraverseIter</span> *iter</code></em>,
                                <em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *repo</code></em>,
                                <em class="parameter"><code><span class="type">GVariant</span> *commit</code></em>,
                                <em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepoCommitTraverseFlags" title="enum OstreeRepoCommitTraverseFlags"><span class="type">OstreeRepoCommitTraverseFlags</span></a> flags</code></em>,
                                <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Initialize (in place) an iterator over the root of a commit object.</p>
<div class="refsect3">
<a name="ostree-repo-commit-traverse-iter-init-commit.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>iter</p></td>
<td class="parameter_description"><p>An iter</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>repo</p></td>
<td class="parameter_description"><p>A repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>commit</p></td>
<td class="parameter_description"><p>Variant of type <a class="link" href="ostree-Core-repository-independent-functions.html#OSTREE-OBJECT-TYPE-COMMIT:CAPS"><code class="literal">OSTREE_OBJECT_TYPE_COMMIT</code></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>flags</p></td>
<td class="parameter_description"><p>Flags</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-commit-traverse-iter-init-dirtree"></a><h3>ostree_repo_commit_traverse_iter_init_dirtree ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_commit_traverse_iter_init_dirtree
                               (<em class="parameter"><code><span class="type">OstreeRepoCommitTraverseIter</span> *iter</code></em>,
                                <em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *repo</code></em>,
                                <em class="parameter"><code><span class="type">GVariant</span> *dirtree</code></em>,
                                <em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepoCommitTraverseFlags" title="enum OstreeRepoCommitTraverseFlags"><span class="type">OstreeRepoCommitTraverseFlags</span></a> flags</code></em>,
                                <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Initialize (in place) an iterator over a directory tree.</p>
<div class="refsect3">
<a name="ostree-repo-commit-traverse-iter-init-dirtree.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>iter</p></td>
<td class="parameter_description"><p>An iter</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>repo</p></td>
<td class="parameter_description"><p>A repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>dirtree</p></td>
<td class="parameter_description"><p>Variant of type <a class="link" href="ostree-Core-repository-independent-functions.html#OSTREE-OBJECT-TYPE-DIR-TREE:CAPS"><code class="literal">OSTREE_OBJECT_TYPE_DIR_TREE</code></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>flags</p></td>
<td class="parameter_description"><p>Flags</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-commit-traverse-iter-next"></a><h3>ostree_repo_commit_traverse_iter_next ()</h3>
<pre class="programlisting"><a class="link" href="ostree-OstreeRepo.html#OstreeRepoCommitIterResult" title="enum OstreeRepoCommitIterResult"><span class="returnvalue">OstreeRepoCommitIterResult</span></a>
ostree_repo_commit_traverse_iter_next (<em class="parameter"><code><span class="type">OstreeRepoCommitTraverseIter</span> *iter</code></em>,
                                       <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                                       <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Step the interator to the next item.  Files will be returned first,
then subdirectories.  Call this in a loop; upon encountering
<a class="link" href="ostree-OstreeRepo.html#OSTREE-REPO-COMMIT-ITER-RESULT-END:CAPS"><code class="literal">OSTREE_REPO_COMMIT_ITER_RESULT_END</code></a>, there will be no more files or
directories.  If <a class="link" href="ostree-OstreeRepo.html#OSTREE-REPO-COMMIT-ITER-RESULT-DIR:CAPS"><code class="literal">OSTREE_REPO_COMMIT_ITER_RESULT_DIR</code></a> is returned,
then call <a class="link" href="ostree-OstreeRepo.html#ostree-repo-commit-traverse-iter-get-dir" title="ostree_repo_commit_traverse_iter_get_dir ()"><code class="function">ostree_repo_commit_traverse_iter_get_dir()</code></a> to retrieve
data for that directory.  Similarly, if
<a class="link" href="ostree-OstreeRepo.html#OSTREE-REPO-COMMIT-ITER-RESULT-FILE:CAPS"><code class="literal">OSTREE_REPO_COMMIT_ITER_RESULT_FILE</code></a> is returned, call
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-commit-traverse-iter-get-file" title="ostree_repo_commit_traverse_iter_get_file ()"><code class="function">ostree_repo_commit_traverse_iter_get_file()</code></a>.</p>
<p>If <a class="link" href="ostree-OstreeRepo.html#OSTREE-REPO-COMMIT-ITER-RESULT-ERROR:CAPS"><code class="literal">OSTREE_REPO_COMMIT_ITER_RESULT_ERROR</code></a> is returned, it is a
program error to call any further API on <em class="parameter"><code>iter</code></em>
 except for
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-commit-traverse-iter-clear" title="ostree_repo_commit_traverse_iter_clear ()"><code class="function">ostree_repo_commit_traverse_iter_clear()</code></a>.</p>
<div class="refsect3">
<a name="ostree-repo-commit-traverse-iter-next.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>iter</p></td>
<td class="parameter_description"><p>An iter</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>Cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-prune"></a><h3>ostree_repo_prune ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_prune (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                   <em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepoPruneFlags" title="enum OstreeRepoPruneFlags"><span class="type">OstreeRepoPruneFlags</span></a> flags</code></em>,
                   <em class="parameter"><code><span class="type">gint</span> depth</code></em>,
                   <em class="parameter"><code><span class="type">gint</span> *out_objects_total</code></em>,
                   <em class="parameter"><code><span class="type">gint</span> *out_objects_pruned</code></em>,
                   <em class="parameter"><code><span class="type">guint64</span> *out_pruned_object_size_total</code></em>,
                   <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                   <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Delete content from the repository.  By default, this function will
only delete "orphaned" objects not referred to by any commit.  This
can happen during a local commit operation, when we have written
content objects but not saved the commit referencing them.</p>
<p>However, if <a class="link" href="ostree-OstreeRepo.html#OSTREE-REPO-PRUNE-FLAGS-REFS-ONLY:CAPS"><code class="literal">OSTREE_REPO_PRUNE_FLAGS_REFS_ONLY</code></a> is provided, instead
of traversing all commits, only refs will be used.  Particularly
when combined with <em class="parameter"><code>depth</code></em>
, this is a convenient way to delete
history from the repository.</p>
<p>Use the <a class="link" href="ostree-OstreeRepo.html#OSTREE-REPO-PRUNE-FLAGS-NO-PRUNE:CAPS"><code class="literal">OSTREE_REPO_PRUNE_FLAGS_NO_PRUNE</code></a> to just determine
statistics on objects that would be deleted, without actually
deleting them.</p>
<p>Locking: exclusive</p>
<div class="refsect3">
<a name="ostree-repo-prune.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>flags</p></td>
<td class="parameter_description"><p>Options controlling prune process</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>depth</p></td>
<td class="parameter_description"><p>Stop traversal after this many iterations (-1 for unlimited)</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>out_objects_total</p></td>
<td class="parameter_description"><p>Number of objects found. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>out_objects_pruned</p></td>
<td class="parameter_description"><p>Number of objects deleted. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>out_pruned_object_size_total</p></td>
<td class="parameter_description"><p>Storage size in bytes of objects deleted. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>Cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-prune-static-deltas"></a><h3>ostree_repo_prune_static_deltas ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_prune_static_deltas (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                                 <em class="parameter"><code>const <span class="type">char</span> *commit</code></em>,
                                 <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                                 <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Prune static deltas, if COMMIT is specified then delete static delta files only
targeting that commit; otherwise any static delta of non existing commits are
deleted.</p>
<p>Locking: exclusive</p>
<div class="refsect3">
<a name="ostree-repo-prune-static-deltas.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>commit</p></td>
<td class="parameter_description"><p>ASCII SHA256 checksum for commit, or <code class="literal">NULL</code> for each
non existing commit. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/allow-none"><span class="acronym">allow-none</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>Cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-traverse-reachable-refs"></a><h3>ostree_repo_traverse_reachable_refs ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_traverse_reachable_refs (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                                     <em class="parameter"><code><span class="type">guint</span> depth</code></em>,
                                     <em class="parameter"><code><span class="type">GHashTable</span> *reachable</code></em>,
                                     <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                                     <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Add all commit objects directly reachable via a ref to <em class="parameter"><code>reachable</code></em>
.</p>
<p>Locking: shared</p>
<div class="refsect3">
<a name="ostree-repo-traverse-reachable-refs.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>depth</p></td>
<td class="parameter_description"><p>Depth of traversal</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>reachable</p></td>
<td class="parameter_description"><p>Set of reachable objects (will be modified). </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/element-type"><span class="acronym">element-type</span></a> GVariant GVariant]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>Cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: 2018.6</p>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-prune-from-reachable"></a><h3>ostree_repo_prune_from_reachable ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_prune_from_reachable (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                                  <em class="parameter"><code><span class="type">OstreeRepoPruneOptions</span> *options</code></em>,
                                  <em class="parameter"><code><span class="type">gint</span> *out_objects_total</code></em>,
                                  <em class="parameter"><code><span class="type">gint</span> *out_objects_pruned</code></em>,
                                  <em class="parameter"><code><span class="type">guint64</span> *out_pruned_object_size_total</code></em>,
                                  <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                                  <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Delete content from the repository.  This function is the "backend"
half of the higher level <a class="link" href="ostree-OstreeRepo.html#ostree-repo-prune" title="ostree_repo_prune ()"><code class="function">ostree_repo_prune()</code></a>.  To use this function,
you determine the root set yourself, and this function finds all other
unreferenced objects and deletes them.</p>
<p>Use this API when you want to perform more selective pruning - for example,
retain all commits from a production branch, but just GC some history from
your dev branch.</p>
<p>The <a class="link" href="ostree-OstreeRepo.html#OSTREE-REPO-PRUNE-FLAGS-NO-PRUNE:CAPS"><code class="literal">OSTREE_REPO_PRUNE_FLAGS_NO_PRUNE</code></a> flag may be specified to just determine
statistics on objects that would be deleted, without actually deleting them.</p>
<p>Locking: exclusive</p>
<div class="refsect3">
<a name="ostree-repo-prune-from-reachable.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>options</p></td>
<td class="parameter_description"><p>Options controlling prune process</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>out_objects_total</p></td>
<td class="parameter_description"><p>Number of objects found. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>out_objects_pruned</p></td>
<td class="parameter_description"><p>Number of objects deleted. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>out_pruned_object_size_total</p></td>
<td class="parameter_description"><p>Storage size in bytes of objects deleted. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>Cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: 2017.1</p>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-pull"></a><h3>ostree_repo_pull ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_pull (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                  <em class="parameter"><code>const <span class="type">char</span> *remote_name</code></em>,
                  <em class="parameter"><code><span class="type">char</span> **refs_to_fetch</code></em>,
                  <em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepoPullFlags" title="enum OstreeRepoPullFlags"><span class="type">OstreeRepoPullFlags</span></a> flags</code></em>,
                  <em class="parameter"><code><a class="link" href="ostree-Progress-notification-system-for-asynchronous-operations.html#OstreeAsyncProgress" title="OstreeAsyncProgress"><span class="type">OstreeAsyncProgress</span></a> *progress</code></em>,
                  <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                  <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Connect to the remote repository, fetching the specified set of
refs <em class="parameter"><code>refs_to_fetch</code></em>
.  For each ref that is changed, download the
commit, all metadata, and all content objects, storing them safely
on disk in <em class="parameter"><code>self</code></em>
.</p>
<p>If <em class="parameter"><code>flags</code></em>
 contains <a class="link" href="ostree-OstreeRepo.html#OSTREE-REPO-PULL-FLAGS-MIRROR:CAPS"><code class="literal">OSTREE_REPO_PULL_FLAGS_MIRROR</code></a>, and
the <em class="parameter"><code>refs_to_fetch</code></em>
 is <code class="literal">NULL</code>, and the remote repository contains a
summary file, then all refs will be fetched.</p>
<p>If <em class="parameter"><code>flags</code></em>
 contains <a class="link" href="ostree-OstreeRepo.html#OSTREE-REPO-PULL-FLAGS-COMMIT-ONLY:CAPS"><code class="literal">OSTREE_REPO_PULL_FLAGS_COMMIT_ONLY</code></a>, then only the
metadata for the commits in <em class="parameter"><code>refs_to_fetch</code></em>
 is pulled.</p>
<p>Warning: This API will iterate the thread default main context,
which is a bug, but kept for compatibility reasons.  If you want to
avoid this, use <code class="function">g_main_context_push_thread_default()</code> to push a new
one around this call.</p>
<div class="refsect3">
<a name="ostree-repo-pull.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>remote_name</p></td>
<td class="parameter_description"><p>Name of remote</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>refs_to_fetch</p></td>
<td class="parameter_description"><p>Optional list of
refs; if <code class="literal">NULL</code>, fetch all configured refs. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/array"><span class="acronym">array</span></a> zero-terminated=1][<a href="http://foldoc.org/element-type"><span class="acronym">element-type</span></a> utf8][<a href="http://foldoc.org/allow-none"><span class="acronym">allow-none</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>flags</p></td>
<td class="parameter_description"><p>Options controlling fetch behavior</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>progress</p></td>
<td class="parameter_description"><p>Progress. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/allow-none"><span class="acronym">allow-none</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>Cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-pull-one-dir"></a><h3>ostree_repo_pull_one_dir ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_pull_one_dir (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                          <em class="parameter"><code>const <span class="type">char</span> *remote_name</code></em>,
                          <em class="parameter"><code>const <span class="type">char</span> *dir_to_pull</code></em>,
                          <em class="parameter"><code><span class="type">char</span> **refs_to_fetch</code></em>,
                          <em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepoPullFlags" title="enum OstreeRepoPullFlags"><span class="type">OstreeRepoPullFlags</span></a> flags</code></em>,
                          <em class="parameter"><code><a class="link" href="ostree-Progress-notification-system-for-asynchronous-operations.html#OstreeAsyncProgress" title="OstreeAsyncProgress"><span class="type">OstreeAsyncProgress</span></a> *progress</code></em>,
                          <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                          <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>This is similar to <a class="link" href="ostree-OstreeRepo.html#ostree-repo-pull" title="ostree_repo_pull ()"><code class="function">ostree_repo_pull()</code></a>, but only fetches a single
subpath.</p>
<div class="refsect3">
<a name="ostree-repo-pull-one-dir.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>remote_name</p></td>
<td class="parameter_description"><p>Name of remote</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>dir_to_pull</p></td>
<td class="parameter_description"><p>Subdirectory path</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>refs_to_fetch</p></td>
<td class="parameter_description"><p>Optional list of
refs; if <code class="literal">NULL</code>, fetch all configured refs. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/array"><span class="acronym">array</span></a> zero-terminated=1][<a href="http://foldoc.org/element-type"><span class="acronym">element-type</span></a> utf8][<a href="http://foldoc.org/allow-none"><span class="acronym">allow-none</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>flags</p></td>
<td class="parameter_description"><p>Options controlling fetch behavior</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>progress</p></td>
<td class="parameter_description"><p>Progress. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/allow-none"><span class="acronym">allow-none</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>Cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-pull-with-options"></a><h3>ostree_repo_pull_with_options ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_pull_with_options (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                               <em class="parameter"><code>const <span class="type">char</span> *remote_name_or_baseurl</code></em>,
                               <em class="parameter"><code><span class="type">GVariant</span> *options</code></em>,
                               <em class="parameter"><code><a class="link" href="ostree-Progress-notification-system-for-asynchronous-operations.html#OstreeAsyncProgress" title="OstreeAsyncProgress"><span class="type">OstreeAsyncProgress</span></a> *progress</code></em>,
                               <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                               <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Like <a class="link" href="ostree-OstreeRepo.html#ostree-repo-pull" title="ostree_repo_pull ()"><code class="function">ostree_repo_pull()</code></a>, but supports an extensible set of flags.
The following are currently defined:</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem"><p><code class="literal">refs</code> (<code class="literal">as</code>): Array of string refs</p></li>
<li class="listitem"><p><code class="literal">collection-refs</code> (<code class="literal">a(sss)</code>): Array of (collection ID, ref name, checksum) tuples to pull;
mutually exclusive with <code class="literal">refs</code> and <code class="literal">override-commit-ids</code>. Checksums may be the empty
string to pull the latest commit for that ref</p></li>
<li class="listitem"><p><code class="literal">flags</code> (<code class="literal">i</code>): An instance of <a class="link" href="ostree-OstreeRepo.html#OstreeRepoPullFlags" title="enum OstreeRepoPullFlags"><span class="type">OstreeRepoPullFlags</span></a></p></li>
<li class="listitem"><p><code class="literal">subdir</code> (<code class="literal">s</code>): Pull just this subdirectory</p></li>
<li class="listitem"><p><code class="literal">subdirs</code> (<code class="literal">as</code>): Pull just these subdirectories</p></li>
<li class="listitem"><p><code class="literal">override-remote-name</code> (<code class="literal">s</code>): If local, add this remote to refspec</p></li>
<li class="listitem"><p><code class="literal">gpg-verify</code> (<code class="literal">b</code>): GPG verify commits</p></li>
<li class="listitem"><p><code class="literal">gpg-verify-summary</code> (<code class="literal">b</code>): GPG verify summary</p></li>
<li class="listitem"><p><code class="literal">disable-sign-verify</code> (<code class="literal">b</code>): Disable signapi verification of commits</p></li>
<li class="listitem"><p><code class="literal">disable-sign-verify-summary</code> (<code class="literal">b</code>): Disable signapi verification of the summary</p></li>
<li class="listitem"><p><code class="literal">depth</code> (<code class="literal">i</code>): How far in the history to traverse; default is 0, -1 means infinite</p></li>
<li class="listitem"><p><code class="literal">per-object-fsync</code> (<code class="literal">b</code>): Perform disk writes more slowly, avoiding a single large I/O sync</p></li>
<li class="listitem"><p><code class="literal">disable-static-deltas</code> (<code class="literal">b</code>): Do not use static deltas</p></li>
<li class="listitem"><p><code class="literal">require-static-deltas</code> (<code class="literal">b</code>): Require static deltas</p></li>
<li class="listitem"><p><code class="literal">override-commit-ids</code> (<code class="literal">as</code>): Array of specific commit IDs to fetch for refs</p></li>
<li class="listitem"><p><code class="literal">timestamp-check</code> (<code class="literal">b</code>): Verify commit timestamps are newer than current (when pulling via
ref); Since: 2017.11</p></li>
<li class="listitem"><p><code class="literal">timestamp-check-from-rev</code> (<code class="literal">s</code>): Verify that all fetched commit timestamps are newer than
timestamp of given rev; Since: 2020.4</p></li>
<li class="listitem"><p><code class="literal">max-metadata-size</code> (<code class="literal">t</code>): Restrict metadata objects to a maximum number of bytes; 0 to
disable.  Since: 2018.9</p></li>
<li class="listitem"><p><code class="literal">dry-run</code> (<code class="literal">b</code>): Only print information on what will be downloaded (requires static deltas)</p></li>
<li class="listitem"><p><code class="literal">override-url</code> (<code class="literal">s</code>): Fetch objects from this URL if remote specifies no metalink in options</p></li>
<li class="listitem"><p><code class="literal">inherit-transaction</code> (<code class="literal">b</code>): Don't initiate, finish or abort a transaction, useful to do
multiple pulls in one transaction.</p></li>
<li class="listitem"><p><code class="literal">http-headers</code> (<code class="literal">a(ss)</code>): Additional headers to add to all HTTP requests</p></li>
<li class="listitem"><p><code class="literal">update-frequency</code> (<code class="literal">u</code>): Frequency to call the async progress callback in milliseconds, if
any; only values higher than 0 are valid</p></li>
<li class="listitem"><p><code class="literal">localcache-repos</code> (<code class="literal">as</code>): File paths for local repos to use as caches when doing remote
fetches</p></li>
<li class="listitem"><p><code class="literal">append-user-agent</code> (<code class="literal">s</code>): Additional string to append to the user agent</p></li>
<li class="listitem"><p><code class="literal">n-network-retries</code> (<code class="literal">u</code>): Number of times to retry each download on receiving
a transient network error, such as a socket timeout; default is 5, 0
means return errors without retrying. Since: 2018.6</p></li>
<li class="listitem"><p><code class="literal">low-speed-limit-bytes</code> (<code class="literal">u</code>): The average transfer speed per second of a transfer
 during the time set via "low-speed-time-seconds" for libcurl to abort.</p></li>
<li class="listitem"><p><code class="literal">low-speed-time-seconds</code> (<code class="literal">u</code>): The time in number seconds that the transfer
 speed should be below the "low-speed-limit-bytes" setting for libcurl to abort.</p></li>
<li class="listitem"><p><code class="literal">retry-all-network-errors</code> (<code class="literal">b</code>): Retry when network issues happen, instead of
 failing automatically. Currently only affects libcurl. (Default set to true)</p></li>
<li class="listitem"><p><code class="literal">max-outstanding-fetcher-requests</code> (<code class="literal">u</code>): The max amount of concurrent connections allowed.</p></li>
<li class="listitem"><p><code class="literal">ref-keyring-map</code> (<code class="literal">a(sss)</code>): Array of (collection ID, ref name, keyring
remote name) tuples specifying which remote's keyring should be used when
doing GPG verification of each collection-ref. This is useful to prevent a
remote from serving malicious updates to refs which did not originate from
it. This can be a subset or superset of the refs being pulled; any ref
not being pulled will be ignored and any ref without a keyring remote
will be verified with the keyring of the remote being pulled from.</p></li>
</ul></div>
<div class="refsect3">
<a name="ostree-repo-pull-with-options.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>remote_name_or_baseurl</p></td>
<td class="parameter_description"><p>Name of remote or file:// url</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>options</p></td>
<td class="parameter_description"><p>A GVariant a{sv} with an extensible set of flags.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>progress</p></td>
<td class="parameter_description"><p>Progress. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/allow-none"><span class="acronym">allow-none</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>Cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: 2020.9</p>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-pull-default-console-progress-changed"></a><h3>ostree_repo_pull_default_console_progress_changed ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
ostree_repo_pull_default_console_progress_changed
                               (<em class="parameter"><code><a class="link" href="ostree-Progress-notification-system-for-asynchronous-operations.html#OstreeAsyncProgress" title="OstreeAsyncProgress"><span class="type">OstreeAsyncProgress</span></a> *progress</code></em>,
                                <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>);</pre>
<p>Convenient "changed" callback for use with
<a class="link" href="ostree-Progress-notification-system-for-asynchronous-operations.html#ostree-async-progress-new-and-connect" title="ostree_async_progress_new_and_connect ()"><code class="function">ostree_async_progress_new_and_connect()</code></a> when pulling from a remote
repository.</p>
<p>Depending on the state of the <a class="link" href="ostree-Progress-notification-system-for-asynchronous-operations.html#OstreeAsyncProgress" title="OstreeAsyncProgress"><span class="type">OstreeAsyncProgress</span></a>, either displays a
custom status message, or else outstanding fetch progress in bytes/sec,
or else outstanding content or metadata writes to the repository in
number of objects.</p>
<p>Compatibility note: this function previously assumed that <em class="parameter"><code>user_data</code></em>

was a pointer to a <span class="type">GSConsole</span> instance.  This is no longer the case,
and <em class="parameter"><code>user_data</code></em>
 is ignored.</p>
<div class="refsect3">
<a name="ostree-repo-pull-default-console-progress-changed.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>progress</p></td>
<td class="parameter_description"><p>Async progress</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>User data. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/allow-none"><span class="acronym">allow-none</span></a>]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-sign-commit"></a><h3>ostree_repo_sign_commit ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_sign_commit (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                         <em class="parameter"><code>const <span class="type">gchar</span> *commit_checksum</code></em>,
                         <em class="parameter"><code>const <span class="type">gchar</span> *key_id</code></em>,
                         <em class="parameter"><code>const <span class="type">gchar</span> *homedir</code></em>,
                         <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                         <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Add a GPG signature to a commit.</p>
<div class="refsect3">
<a name="ostree-repo-sign-commit.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Self</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>commit_checksum</p></td>
<td class="parameter_description"><p>SHA256 of given commit to sign</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>key_id</p></td>
<td class="parameter_description"><p>Use this GPG key id</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>homedir</p></td>
<td class="parameter_description"><p>GPG home directory, or <code class="literal">NULL</code>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/allow-none"><span class="acronym">allow-none</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>A <span class="type">GCancellable</span></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>a <span class="type">GError</span></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-append-gpg-signature"></a><h3>ostree_repo_append_gpg_signature ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_append_gpg_signature (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                                  <em class="parameter"><code>const <span class="type">gchar</span> *commit_checksum</code></em>,
                                  <em class="parameter"><code><span class="type">GBytes</span> *signature_bytes</code></em>,
                                  <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                                  <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Append a GPG signature to a commit.</p>
<div class="refsect3">
<a name="ostree-repo-append-gpg-signature.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Self</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>commit_checksum</p></td>
<td class="parameter_description"><p>SHA256 of given commit to sign</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>signature_bytes</p></td>
<td class="parameter_description"><p>Signature data</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>A <span class="type">GCancellable</span></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>a <span class="type">GError</span></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-add-gpg-signature-summary"></a><h3>ostree_repo_add_gpg_signature_summary ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_add_gpg_signature_summary (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                                       <em class="parameter"><code>const <span class="type">gchar</span> **key_id</code></em>,
                                       <em class="parameter"><code>const <span class="type">gchar</span> *homedir</code></em>,
                                       <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                                       <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Add a GPG signature to a summary file.</p>
<div class="refsect3">
<a name="ostree-repo-add-gpg-signature-summary.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Self</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>key_id</p></td>
<td class="parameter_description"><p>NULL-terminated array of GPG keys. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/array"><span class="acronym">array</span></a> zero-terminated=1][<a href="http://foldoc.org/element-type"><span class="acronym">element-type</span></a> utf8]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>homedir</p></td>
<td class="parameter_description"><p>GPG home directory, or <code class="literal">NULL</code>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/allow-none"><span class="acronym">allow-none</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>A <span class="type">GCancellable</span></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>a <span class="type">GError</span></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-gpg-sign-data"></a><h3>ostree_repo_gpg_sign_data ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_gpg_sign_data (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                           <em class="parameter"><code><span class="type">GBytes</span> *data</code></em>,
                           <em class="parameter"><code><span class="type">GBytes</span> *old_signatures</code></em>,
                           <em class="parameter"><code>const <span class="type">gchar</span> **key_id</code></em>,
                           <em class="parameter"><code>const <span class="type">gchar</span> *homedir</code></em>,
                           <em class="parameter"><code><span class="type">GBytes</span> **out_signatures</code></em>,
                           <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                           <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Sign the given <em class="parameter"><code>data</code></em>
 with the specified keys in <em class="parameter"><code>key_id</code></em>
. Similar to
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-add-gpg-signature-summary" title="ostree_repo_add_gpg_signature_summary ()"><code class="function">ostree_repo_add_gpg_signature_summary()</code></a> but can be used on any
data.</p>
<p>You can use <a class="link" href="ostree-OstreeRepo.html#ostree-repo-gpg-verify-data" title="ostree_repo_gpg_verify_data ()"><code class="function">ostree_repo_gpg_verify_data()</code></a> to verify the signatures.</p>
<div class="refsect3">
<a name="ostree-repo-gpg-sign-data.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Self</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>data</p></td>
<td class="parameter_description"><p>Data as a <span class="type">GBytes</span></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>old_signatures</p></td>
<td class="parameter_description"><p>Existing signatures to append to (or <code class="literal">NULL</code>). </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/nullable"><span class="acronym">nullable</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>key_id</p></td>
<td class="parameter_description"><p>NULL-terminated array of GPG keys. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/array"><span class="acronym">array</span></a> zero-terminated=1][<a href="http://foldoc.org/element-type"><span class="acronym">element-type</span></a> utf8]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>homedir</p></td>
<td class="parameter_description"><p>GPG home directory, or <code class="literal">NULL</code>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/nullable"><span class="acronym">nullable</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>out_signatures</p></td>
<td class="parameter_description"><p>in case of success will contain signature. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>A <span class="type">GCancellable</span></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>a <span class="type">GError</span></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="ostree-repo-gpg-sign-data.returns"></a><h4>Returns</h4>
<p> <code class="literal">TRUE</code> if <em class="parameter"><code>data</code></em>
has been signed successfully,
<code class="literal">FALSE</code> in case of error (<em class="parameter"><code>error</code></em>
will contain the reason).</p>
</div>
<p class="since">Since: 2020.8</p>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-gpg-verify-data"></a><h3>ostree_repo_gpg_verify_data ()</h3>
<pre class="programlisting"><a class="link" href="ostree-GPG-signature-verification-results.html#OstreeGpgVerifyResult" title="OstreeGpgVerifyResult"><span class="returnvalue">OstreeGpgVerifyResult</span></a> *
ostree_repo_gpg_verify_data (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                             <em class="parameter"><code>const <span class="type">gchar</span> *remote_name</code></em>,
                             <em class="parameter"><code><span class="type">GBytes</span> *data</code></em>,
                             <em class="parameter"><code><span class="type">GBytes</span> *signatures</code></em>,
                             <em class="parameter"><code><span class="type">GFile</span> *keyringdir</code></em>,
                             <em class="parameter"><code><span class="type">GFile</span> *extra_keyring</code></em>,
                             <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                             <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Verify <em class="parameter"><code>signatures</code></em>
 for <em class="parameter"><code>data</code></em>
 using GPG keys in the keyring for
<em class="parameter"><code>remote_name</code></em>
, and return an <a class="link" href="ostree-GPG-signature-verification-results.html#OstreeGpgVerifyResult" title="OstreeGpgVerifyResult"><span class="type">OstreeGpgVerifyResult</span></a>.</p>
<p>The <em class="parameter"><code>remote_name</code></em>
 parameter can be <code class="literal">NULL</code>. In that case it will do
the verifications using GPG keys in the keyrings of all remotes.</p>
<div class="refsect3">
<a name="ostree-repo-gpg-verify-data.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Repository</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>remote_name</p></td>
<td class="parameter_description"><p>Name of remote. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/nullable"><span class="acronym">nullable</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>data</p></td>
<td class="parameter_description"><p>Data as a <span class="type">GBytes</span></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>signatures</p></td>
<td class="parameter_description"><p>Signatures as a <span class="type">GBytes</span></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>keyringdir</p></td>
<td class="parameter_description"><p>Path to directory GPG keyrings; overrides built-in default if given. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/nullable"><span class="acronym">nullable</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>extra_keyring</p></td>
<td class="parameter_description"><p>Path to additional keyring file (not a directory). </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/nullable"><span class="acronym">nullable</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>Cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="ostree-repo-gpg-verify-data.returns"></a><h4>Returns</h4>
<p>an <a class="link" href="ostree-GPG-signature-verification-results.html#OstreeGpgVerifyResult" title="OstreeGpgVerifyResult"><span class="type">OstreeGpgVerifyResult</span></a>, or <code class="literal">NULL</code> on error. </p>
<p><span class="annotation">[<a href="http://foldoc.org/transfer%20full"><span class="acronym">transfer full</span></a>]</span></p>
</div>
<p class="since">Since: 2016.6</p>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-signature-verify-commit-data"></a><h3>ostree_repo_signature_verify_commit_data ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_signature_verify_commit_data
                               (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                                <em class="parameter"><code>const <span class="type">char</span> *remote_name</code></em>,
                                <em class="parameter"><code><span class="type">GBytes</span> *commit_data</code></em>,
                                <em class="parameter"><code><span class="type">GBytes</span> *commit_metadata</code></em>,
                                <em class="parameter"><code><span class="type">OstreeRepoVerifyFlags</span> flags</code></em>,
                                <em class="parameter"><code><span class="type">char</span> **out_results</code></em>,
                                <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Validate the commit data using the commit metadata which must
contain at least one valid signature.  If GPG and signapi are
both enabled, then both must find at least one valid signature.</p>
<div class="refsect3">
<a name="ostree-repo-signature-verify-commit-data.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>remote_name</p></td>
<td class="parameter_description"><p>Name of remote</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>commit_data</p></td>
<td class="parameter_description"><p>Commit object data (GVariant)</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>commit_metadata</p></td>
<td class="parameter_description"><p>Commit metadata (GVariant <code class="literal">a{sv}</code>), must contain at least one valid signature</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>flags</p></td>
<td class="parameter_description"><p>Optionally disable GPG or signapi</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>out_results</p></td>
<td class="parameter_description"><p>Textual description of results. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/optional"><span class="acronym">optional</span></a>][<a href="http://foldoc.org/out"><span class="acronym">out</span></a>][<a href="http://foldoc.org/transfer%20full"><span class="acronym">transfer full</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-verify-commit"></a><h3>ostree_repo_verify_commit ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_verify_commit (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                           <em class="parameter"><code>const <span class="type">gchar</span> *commit_checksum</code></em>,
                           <em class="parameter"><code><span class="type">GFile</span> *keyringdir</code></em>,
                           <em class="parameter"><code><span class="type">GFile</span> *extra_keyring</code></em>,
                           <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                           <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Check for a valid GPG signature on commit named by the ASCII
checksum <em class="parameter"><code>commit_checksum</code></em>
.</p>
<div class="refsect3">
<a name="ostree-repo-verify-commit.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Repository</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>commit_checksum</p></td>
<td class="parameter_description"><p>ASCII SHA256 checksum</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>keyringdir</p></td>
<td class="parameter_description"><p>Path to directory GPG keyrings; overrides built-in default if given. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/allow-none"><span class="acronym">allow-none</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>extra_keyring</p></td>
<td class="parameter_description"><p>Path to additional keyring file (not a directory). </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/allow-none"><span class="acronym">allow-none</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>Cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="ostree-repo-verify-commit.returns"></a><h4>Returns</h4>
<p> <code class="literal">TRUE</code> if there was a GPG signature from a trusted keyring, otherwise <code class="literal">FALSE</code></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-verify-commit-ext"></a><h3>ostree_repo_verify_commit_ext ()</h3>
<pre class="programlisting"><a class="link" href="ostree-GPG-signature-verification-results.html#OstreeGpgVerifyResult" title="OstreeGpgVerifyResult"><span class="returnvalue">OstreeGpgVerifyResult</span></a> *
ostree_repo_verify_commit_ext (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                               <em class="parameter"><code>const <span class="type">gchar</span> *commit_checksum</code></em>,
                               <em class="parameter"><code><span class="type">GFile</span> *keyringdir</code></em>,
                               <em class="parameter"><code><span class="type">GFile</span> *extra_keyring</code></em>,
                               <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                               <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Read GPG signature(s) on the commit named by the ASCII checksum
<em class="parameter"><code>commit_checksum</code></em>
 and return detailed results.</p>
<div class="refsect3">
<a name="ostree-repo-verify-commit-ext.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Repository</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>commit_checksum</p></td>
<td class="parameter_description"><p>ASCII SHA256 checksum</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>keyringdir</p></td>
<td class="parameter_description"><p>Path to directory GPG keyrings; overrides built-in default if given. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/allow-none"><span class="acronym">allow-none</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>extra_keyring</p></td>
<td class="parameter_description"><p>Path to additional keyring file (not a directory). </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/allow-none"><span class="acronym">allow-none</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>Cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="ostree-repo-verify-commit-ext.returns"></a><h4>Returns</h4>
<p>an <a class="link" href="ostree-GPG-signature-verification-results.html#OstreeGpgVerifyResult" title="OstreeGpgVerifyResult"><span class="type">OstreeGpgVerifyResult</span></a>, or <code class="literal">NULL</code> on error. </p>
<p><span class="annotation">[<a href="http://foldoc.org/transfer%20full"><span class="acronym">transfer full</span></a>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-verify-commit-for-remote"></a><h3>ostree_repo_verify_commit_for_remote ()</h3>
<pre class="programlisting"><a class="link" href="ostree-GPG-signature-verification-results.html#OstreeGpgVerifyResult" title="OstreeGpgVerifyResult"><span class="returnvalue">OstreeGpgVerifyResult</span></a> *
ostree_repo_verify_commit_for_remote (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                                      <em class="parameter"><code>const <span class="type">gchar</span> *commit_checksum</code></em>,
                                      <em class="parameter"><code>const <span class="type">gchar</span> *remote_name</code></em>,
                                      <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                                      <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Read GPG signature(s) on the commit named by the ASCII checksum
<em class="parameter"><code>commit_checksum</code></em>
 and return detailed results, based on the keyring
configured for <em class="parameter"><code>remote</code></em>
.</p>
<div class="refsect3">
<a name="ostree-repo-verify-commit-for-remote.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Repository</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>commit_checksum</p></td>
<td class="parameter_description"><p>ASCII SHA256 checksum</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>remote_name</p></td>
<td class="parameter_description"><p>OSTree remote to use for configuration</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>Cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="ostree-repo-verify-commit-for-remote.returns"></a><h4>Returns</h4>
<p>an <a class="link" href="ostree-GPG-signature-verification-results.html#OstreeGpgVerifyResult" title="OstreeGpgVerifyResult"><span class="type">OstreeGpgVerifyResult</span></a>, or <code class="literal">NULL</code> on error. </p>
<p><span class="annotation">[<a href="http://foldoc.org/transfer%20full"><span class="acronym">transfer full</span></a>]</span></p>
</div>
<p class="since">Since: 2016.14</p>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-verify-summary"></a><h3>ostree_repo_verify_summary ()</h3>
<pre class="programlisting"><a class="link" href="ostree-GPG-signature-verification-results.html#OstreeGpgVerifyResult" title="OstreeGpgVerifyResult"><span class="returnvalue">OstreeGpgVerifyResult</span></a> *
ostree_repo_verify_summary (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                            <em class="parameter"><code>const <span class="type">char</span> *remote_name</code></em>,
                            <em class="parameter"><code><span class="type">GBytes</span> *summary</code></em>,
                            <em class="parameter"><code><span class="type">GBytes</span> *signatures</code></em>,
                            <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                            <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Verify <em class="parameter"><code>signatures</code></em>
 for <em class="parameter"><code>summary</code></em>
 data using GPG keys in the keyring for
<em class="parameter"><code>remote_name</code></em>
, and return an <a class="link" href="ostree-GPG-signature-verification-results.html#OstreeGpgVerifyResult" title="OstreeGpgVerifyResult"><span class="type">OstreeGpgVerifyResult</span></a>.</p>
<div class="refsect3">
<a name="ostree-repo-verify-summary.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>remote_name</p></td>
<td class="parameter_description"><p>Name of remote</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>summary</p></td>
<td class="parameter_description"><p>Summary data as a <span class="type">GBytes</span></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>signatures</p></td>
<td class="parameter_description"><p>Summary signatures as a <span class="type">GBytes</span></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>Cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="ostree-repo-verify-summary.returns"></a><h4>Returns</h4>
<p>an <a class="link" href="ostree-GPG-signature-verification-results.html#OstreeGpgVerifyResult" title="OstreeGpgVerifyResult"><span class="type">OstreeGpgVerifyResult</span></a>, or <code class="literal">NULL</code> on error. </p>
<p><span class="annotation">[<a href="http://foldoc.org/transfer%20full"><span class="acronym">transfer full</span></a>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-regenerate-metadata"></a><h3>ostree_repo_regenerate_metadata ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_regenerate_metadata (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                                 <em class="parameter"><code><span class="type">GVariant</span> *additional_metadata</code></em>,
                                 <em class="parameter"><code><span class="type">GVariant</span> *options</code></em>,
                                 <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                                 <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Regenerate the OSTree repository metadata used by clients to describe
available branches and other metadata.</p>
<p>The repository metadata currently consists of the <code class="literal">summary</code> file. See
<a class="link" href="ostree-OstreeRepo.html#ostree-repo-regenerate-summary" title="ostree_repo_regenerate_summary ()"><code class="function">ostree_repo_regenerate_summary()</code></a> and <a class="link" href="ostree-Core-repository-independent-functions.html#OSTREE-SUMMARY-GVARIANT-FORMAT:CAPS" title="OSTREE_SUMMARY_GVARIANT_FORMAT"><code class="literal">OSTREE_SUMMARY_GVARIANT_FORMAT</code></a> for
additional details on its contents.</p>
<p>Additionally, if the <code class="literal">core/collection-id</code> key is set in the configuration, a
<a class="link" href="ostree-ostree-repo-remote-finder.html#OSTREE-REPO-METADATA-REF:CAPS" title="OSTREE_REPO_METADATA_REF"><code class="literal">OSTREE_REPO_METADATA_REF</code></a> commit will be created.</p>
<p>The following <em class="parameter"><code>options</code></em>
 are currently defined:</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem"><p><code class="literal">gpg-key-ids</code> (<code class="literal">as</code>): Array of GPG key IDs to sign the metadata with.</p></li>
<li class="listitem"><p><code class="literal">gpg-homedir</code> (<code class="literal">s</code>): GPG home directory.</p></li>
<li class="listitem"><p><code class="literal">sign-keys</code> (<code class="literal">av</code>): Array of keys to sign the metadata with. The key
type is specific to the sign engine used.</p></li>
<li class="listitem"><p><code class="literal">sign-type</code> (<code class="literal">s</code>): Sign engine type to use. If not specified,
<code class="literal">OSTREE_SIGN_NAME_ED25519</code> is used.</p></li>
</ul></div>
<p>Locking: shared</p>
<div class="refsect3">
<a name="ostree-repo-regenerate-metadata.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>additional_metadata</p></td>
<td class="parameter_description"><p>A GVariant <code class="literal">a{sv}</code>, or <code class="literal">NULL</code>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/nullable"><span class="acronym">nullable</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>options</p></td>
<td class="parameter_description"><p>A GVariant <code class="literal">a{sv}</code> with an extensible set of flags. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/nullable"><span class="acronym">nullable</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>Cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: 2023.1</p>
</div>
<hr>
<div class="refsect2">
<a name="ostree-repo-regenerate-summary"></a><h3>ostree_repo_regenerate_summary ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
ostree_repo_regenerate_summary (<em class="parameter"><code><a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> *self</code></em>,
                                <em class="parameter"><code><span class="type">GVariant</span> *additional_metadata</code></em>,
                                <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                                <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>An OSTree repository can contain a high level "summary" file that
describes the available branches and other metadata.</p>
<p>If the timetable for making commits and updating the summary file is fairly
regular, setting the <code class="literal">ostree.summary.expires</code> key in <em class="parameter"><code>additional_metadata</code></em>

will aid clients in working out when to check for updates.</p>
<p>It is regenerated automatically after any ref is
added, removed, or updated if <code class="literal">core/auto-update-summary</code> is set.</p>
<p>If the <code class="literal">core/collection-id</code> key is set in the configuration, it will be
included as <code class="literal">OSTREE_SUMMARY_COLLECTION_ID</code> in the summary file. Refs that
have associated collection IDs will be included in the generated summary
file, listed under the <code class="literal">OSTREE_SUMMARY_COLLECTION_MAP</code> key. Collection IDs
and refs in <code class="literal">OSTREE_SUMMARY_COLLECTION_MAP</code> are guaranteed to be in
lexicographic order.</p>
<p>Locking: shared (Prior to 2021.7, this was exclusive)</p>
<div class="refsect3">
<a name="ostree-repo-regenerate-summary.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>Repo</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>additional_metadata</p></td>
<td class="parameter_description"><p>A GVariant of type a{sv}, or <code class="literal">NULL</code>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/allow-none"><span class="acronym">allow-none</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>Cancellable</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
<div class="refsect1">
<a name="ostree-OstreeRepo.other_details"></a><h2>Types and Values</h2>
<div class="refsect2">
<a name="OstreeRepo"></a><h3>OstreeRepo</h3>
<pre class="programlisting">typedef struct OstreeRepo OstreeRepo;
</pre>
<p>Private instance structure.</p>
</div>
<hr>
<div class="refsect2">
<a name="OstreeRepoMode"></a><h3>enum OstreeRepoMode</h3>
<p>See the documentation of <a class="link" href="ostree-OstreeRepo.html#OstreeRepo" title="OstreeRepo"><span class="type">OstreeRepo</span></a> for more information about the
possible modes.</p>
<div class="refsect3">
<a name="OstreeRepoMode.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
<td class="enum_member_name"><p><a name="OSTREE-REPO-MODE-BARE:CAPS"></a>OSTREE_REPO_MODE_BARE</p></td>
<td class="enum_member_description">
<p>Files are stored as themselves; checkouts are hardlinks; can only be
written as root</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="OSTREE-REPO-MODE-ARCHIVE:CAPS"></a>OSTREE_REPO_MODE_ARCHIVE</p></td>
<td class="enum_member_description">
<p>Files are compressed, should be owned by non-root.  Can be served via
HTTP.  Since: 2017.12</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="OSTREE-REPO-MODE-ARCHIVE-Z2:CAPS"></a>OSTREE_REPO_MODE_ARCHIVE_Z2</p></td>
<td class="enum_member_description">
<p>Legacy alias for <code class="literal">OSTREE_REPO_MODE_ARCHIVE</code></p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="OSTREE-REPO-MODE-BARE-USER:CAPS"></a>OSTREE_REPO_MODE_BARE_USER</p></td>
<td class="enum_member_description">
<p>Files are stored as themselves, except ownership; can be written by
user. Hardlinks work only in user checkouts.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="OSTREE-REPO-MODE-BARE-USER-ONLY:CAPS"></a>OSTREE_REPO_MODE_BARE_USER_ONLY</p></td>
<td class="enum_member_description">
<p>Same as BARE_USER, but all metadata is not stored, so it can
only be used for user checkouts. Does not need xattrs.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="OSTREE-REPO-MODE-BARE-SPLIT-XATTRS:CAPS"></a>OSTREE_REPO_MODE_BARE_SPLIT_XATTRS</p></td>
<td class="enum_member_description">
<p>Same as BARE_USER, but xattrs are stored separately from
file content, with dedicated object types.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="OstreeRepoLockType"></a><h3>enum OstreeRepoLockType</h3>
<p>Flags controlling repository locking.</p>
<div class="refsect3">
<a name="OstreeRepoLockType.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
<td class="enum_member_name"><p><a name="OSTREE-REPO-LOCK-SHARED:CAPS"></a>OSTREE_REPO_LOCK_SHARED</p></td>
<td class="enum_member_description">
<p>A "read only" lock; multiple readers are allowed.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="OSTREE-REPO-LOCK-EXCLUSIVE:CAPS"></a>OSTREE_REPO_LOCK_EXCLUSIVE</p></td>
<td class="enum_member_description">
<p>A writable lock at most one writer can be active, and zero readers.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: 2021.3</p>
</div>
<hr>
<div class="refsect2">
<a name="OstreeRepoAutoLock"></a><h3>OstreeRepoAutoLock</h3>
<pre class="programlisting">typedef struct OstreeRepoAutoLock OstreeRepoAutoLock;
</pre>
<p>An opaque type for use with <a class="link" href="ostree-OstreeRepo.html#ostree-repo-auto-lock-push" title="ostree_repo_auto_lock_push ()"><code class="function">ostree_repo_auto_lock_push()</code></a>.</p>
<p class="since">Since: 2021.3</p>
</div>
<hr>
<div class="refsect2">
<a name="OstreeRepoRemoteChange"></a><h3>enum OstreeRepoRemoteChange</h3>
<div class="refsect3">
<a name="OstreeRepoRemoteChange.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
<td class="enum_member_name"><p><a name="OSTREE-REPO-REMOTE-CHANGE-ADD:CAPS"></a>OSTREE_REPO_REMOTE_CHANGE_ADD</p></td>
<td class="enum_member_description">
<p>Add a remote</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="OSTREE-REPO-REMOTE-CHANGE-ADD-IF-NOT-EXISTS:CAPS"></a>OSTREE_REPO_REMOTE_CHANGE_ADD_IF_NOT_EXISTS</p></td>
<td class="enum_member_description">
<p>Like above, but do nothing if the remote exists</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="OSTREE-REPO-REMOTE-CHANGE-DELETE:CAPS"></a>OSTREE_REPO_REMOTE_CHANGE_DELETE</p></td>
<td class="enum_member_description">
<p>Delete a remote</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="OSTREE-REPO-REMOTE-CHANGE-DELETE-IF-EXISTS:CAPS"></a>OSTREE_REPO_REMOTE_CHANGE_DELETE_IF_EXISTS</p></td>
<td class="enum_member_description">
<p>Delete a remote, do nothing if the remote does not
exist</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="OSTREE-REPO-REMOTE-CHANGE-REPLACE:CAPS"></a>OSTREE_REPO_REMOTE_CHANGE_REPLACE</p></td>
<td class="enum_member_description">
<p>Add or replace a remote (Since: 2019.2)</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="OstreeRepoTransactionStats"></a><h3>struct OstreeRepoTransactionStats</h3>
<pre class="programlisting">struct OstreeRepoTransactionStats {
  guint metadata_objects_total;
  guint metadata_objects_written;
  guint content_objects_total;
  guint content_objects_written;
  guint64 content_bytes_written;
  guint devino_cache_hits;

  guint padding1;
  guint64 padding2;
  guint64 padding3;
  guint64 padding4;
};
</pre>
<p>A list of statistics for each transaction that may be
interesting for reporting purposes.</p>
<div class="refsect3">
<a name="OstreeRepoTransactionStats.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
<col width="200px" class="struct_members_annotations">
</colgroup>
<tbody>
<tr>
<td class="struct_member_name"><p><span class="type">guint</span> <em class="structfield"><code><a name="OstreeRepoTransactionStats.metadata-objects-total"></a>metadata_objects_total</code></em>;</p></td>
<td class="struct_member_description"><p>The total number of metadata objects
in the repository after this transaction has completed.</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><span class="type">guint</span> <em class="structfield"><code><a name="OstreeRepoTransactionStats.metadata-objects-written"></a>metadata_objects_written</code></em>;</p></td>
<td class="struct_member_description"><p>The number of metadata objects that
were written to the repository in this transaction.</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><span class="type">guint</span> <em class="structfield"><code><a name="OstreeRepoTransactionStats.content-objects-total"></a>content_objects_total</code></em>;</p></td>
<td class="struct_member_description"><p>The total number of content objects
in the repository after this transaction has completed.</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><span class="type">guint</span> <em class="structfield"><code><a name="OstreeRepoTransactionStats.content-objects-written"></a>content_objects_written</code></em>;</p></td>
<td class="struct_member_description"><p>The number of content objects that
were written to the repository in this transaction.</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><span class="type">guint64</span> <em class="structfield"><code><a name="OstreeRepoTransactionStats.content-bytes-written"></a>content_bytes_written</code></em>;</p></td>
<td class="struct_member_description"><p>The amount of data added to the repository,
in bytes, counting only content objects.</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><span class="type">guint</span> <em class="structfield"><code><a name="OstreeRepoTransactionStats.devino-cache-hits"></a>devino_cache_hits</code></em>;</p></td>
<td> </td>
<td> </td>
</tr>
<tr>
<td class="struct_member_name"><p><span class="type">guint</span> <em class="structfield"><code><a name="OstreeRepoTransactionStats.padding1"></a>padding1</code></em>;</p></td>
<td class="struct_member_description"><p>reserved</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><span class="type">guint64</span> <em class="structfield"><code><a name="OstreeRepoTransactionStats.padding2"></a>padding2</code></em>;</p></td>
<td class="struct_member_description"><p>reserved</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><span class="type">guint64</span> <em class="structfield"><code><a name="OstreeRepoTransactionStats.padding3"></a>padding3</code></em>;</p></td>
<td class="struct_member_description"><p>reserved</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><span class="type">guint64</span> <em class="structfield"><code><a name="OstreeRepoTransactionStats.padding4"></a>padding4</code></em>;</p></td>
<td class="struct_member_description"><p>reserved</p></td>
<td class="struct_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="OstreeRepoResolveRevExtFlags"></a><h3>enum OstreeRepoResolveRevExtFlags</h3>
<div class="refsect3">
<a name="OstreeRepoResolveRevExtFlags.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
<td class="enum_member_name"><p><a name="OSTREE-REPO-RESOLVE-REV-EXT-NONE:CAPS"></a>OSTREE_REPO_RESOLVE_REV_EXT_NONE</p></td>
<td class="enum_member_description">
<p>No flags.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="OSTREE-REPO-RESOLVE-REV-EXT-LOCAL-ONLY:CAPS"></a>OSTREE_REPO_RESOLVE_REV_EXT_LOCAL_ONLY</p></td>
<td class="enum_member_description">
<p>Exclude remote and mirrored refs. Since: 2019.2</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="OstreeRepoListRefsExtFlags"></a><h3>enum OstreeRepoListRefsExtFlags</h3>
<div class="refsect3">
<a name="OstreeRepoListRefsExtFlags.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
<td class="enum_member_name"><p><a name="OSTREE-REPO-LIST-REFS-EXT-NONE:CAPS"></a>OSTREE_REPO_LIST_REFS_EXT_NONE</p></td>
<td class="enum_member_description">
<p>No flags.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="OSTREE-REPO-LIST-REFS-EXT-ALIASES:CAPS"></a>OSTREE_REPO_LIST_REFS_EXT_ALIASES</p></td>
<td class="enum_member_description">
<p>Only list aliases.  Since: 2017.10</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="OSTREE-REPO-LIST-REFS-EXT-EXCLUDE-REMOTES:CAPS"></a>OSTREE_REPO_LIST_REFS_EXT_EXCLUDE_REMOTES</p></td>
<td class="enum_member_description">
<p>Exclude remote refs.  Since: 2017.11</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="OSTREE-REPO-LIST-REFS-EXT-EXCLUDE-MIRRORS:CAPS"></a>OSTREE_REPO_LIST_REFS_EXT_EXCLUDE_MIRRORS</p></td>
<td class="enum_member_description">
<p>Exclude mirrored refs.  Since: 2019.2</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="OstreeRepoCommitState"></a><h3>enum OstreeRepoCommitState</h3>
<p>Flags representing the state of a commit in the local repository, as returned
by <a class="link" href="ostree-OstreeRepo.html#ostree-repo-load-commit" title="ostree_repo_load_commit ()"><code class="function">ostree_repo_load_commit()</code></a>.</p>
<div class="refsect3">
<a name="OstreeRepoCommitState.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
<td class="enum_member_name"><p><a name="OSTREE-REPO-COMMIT-STATE-NORMAL:CAPS"></a>OSTREE_REPO_COMMIT_STATE_NORMAL</p></td>
<td class="enum_member_description">
<p>Commit is complete. This is the default.
(Since: 2017.14.)</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="OSTREE-REPO-COMMIT-STATE-PARTIAL:CAPS"></a>OSTREE_REPO_COMMIT_STATE_PARTIAL</p></td>
<td class="enum_member_description">
<p>One or more objects are missing from the
local copy of the commit, but metadata is present. (Since: 2015.7.)</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="OSTREE-REPO-COMMIT-STATE-FSCK-PARTIAL:CAPS"></a>OSTREE_REPO_COMMIT_STATE_FSCK_PARTIAL</p></td>
<td class="enum_member_description">
<p>One or more objects are missing from the
local copy of the commit, due to an fsck --delete. (Since: 2019.4.)</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: 2015.7</p>
</div>
<hr>
<div class="refsect2">
<a name="OstreeRepoCommitFilterResult"></a><h3>enum OstreeRepoCommitFilterResult</h3>
<div class="refsect3">
<a name="OstreeRepoCommitFilterResult.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
<td class="enum_member_name"><p><a name="OSTREE-REPO-COMMIT-FILTER-ALLOW:CAPS"></a>OSTREE_REPO_COMMIT_FILTER_ALLOW</p></td>
<td class="enum_member_description">
<p>Do commit this object</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="OSTREE-REPO-COMMIT-FILTER-SKIP:CAPS"></a>OSTREE_REPO_COMMIT_FILTER_SKIP</p></td>
<td class="enum_member_description">
<p>Ignore this object</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="OstreeRepoCommitModifier"></a><h3>OstreeRepoCommitModifier</h3>
<pre class="programlisting">typedef struct OstreeRepoCommitModifier OstreeRepoCommitModifier;
</pre>
<p>A structure allowing control over commits.</p>
</div>
<hr>
<div class="refsect2">
<a name="OstreeRepoCommitModifierFlags"></a><h3>enum OstreeRepoCommitModifierFlags</h3>
<p>Flags modifying commit behavior. In bare-user-only mode,
<em class="parameter"><code>OSTREE_REPO_COMMIT_MODIFIER_FLAGS_CANONICAL_PERMISSIONS</code></em>
 and
<em class="parameter"><code>OSTREE_REPO_COMMIT_MODIFIER_FLAGS_SKIP_XATTRS</code></em>
 are automatically enabled.</p>
<div class="refsect3">
<a name="OstreeRepoCommitModifierFlags.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
<td class="enum_member_name"><p><a name="OSTREE-REPO-COMMIT-MODIFIER-FLAGS-NONE:CAPS"></a>OSTREE_REPO_COMMIT_MODIFIER_FLAGS_NONE</p></td>
<td class="enum_member_description">
<p>No special flags</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="OSTREE-REPO-COMMIT-MODIFIER-FLAGS-SKIP-XATTRS:CAPS"></a>OSTREE_REPO_COMMIT_MODIFIER_FLAGS_SKIP_XATTRS</p></td>
<td class="enum_member_description">
<p>Do not process extended attributes</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="OSTREE-REPO-COMMIT-MODIFIER-FLAGS-GENERATE-SIZES:CAPS"></a>OSTREE_REPO_COMMIT_MODIFIER_FLAGS_GENERATE_SIZES</p></td>
<td class="enum_member_description">
<p>Generate size information.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="OSTREE-REPO-COMMIT-MODIFIER-FLAGS-CANONICAL-PERMISSIONS:CAPS"></a>OSTREE_REPO_COMMIT_MODIFIER_FLAGS_CANONICAL_PERMISSIONS</p></td>
<td class="enum_member_description">
<p>Canonicalize permissions.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="OSTREE-REPO-COMMIT-MODIFIER-FLAGS-ERROR-ON-UNLABELED:CAPS"></a>OSTREE_REPO_COMMIT_MODIFIER_FLAGS_ERROR_ON_UNLABELED</p></td>
<td class="enum_member_description">
<p>Emit an error if configured SELinux
policy does not provide a label</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="OSTREE-REPO-COMMIT-MODIFIER-FLAGS-CONSUME:CAPS"></a>OSTREE_REPO_COMMIT_MODIFIER_FLAGS_CONSUME</p></td>
<td class="enum_member_description">
<p>Delete added files/directories after commit; Since:
2017.13</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="OSTREE-REPO-COMMIT-MODIFIER-FLAGS-DEVINO-CANONICAL:CAPS"></a>OSTREE_REPO_COMMIT_MODIFIER_FLAGS_DEVINO_CANONICAL</p></td>
<td class="enum_member_description">
<p>If a devino cache hit is found, skip
modifier filters (non-directories only); Since: 2017.14</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="OSTREE-REPO-COMMIT-MODIFIER-FLAGS-SELINUX-LABEL-V1:CAPS"></a>OSTREE_REPO_COMMIT_MODIFIER_FLAGS_SELINUX_LABEL_V1</p></td>
<td class="enum_member_description">
<p>For SELinux and other systems, label
/usr/etc as if it was /etc.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="OstreeRepoCheckoutMode"></a><h3>enum OstreeRepoCheckoutMode</h3>
<div class="refsect3">
<a name="OstreeRepoCheckoutMode.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
<td class="enum_member_name"><p><a name="OSTREE-REPO-CHECKOUT-MODE-NONE:CAPS"></a>OSTREE_REPO_CHECKOUT_MODE_NONE</p></td>
<td class="enum_member_description">
<p>No special options</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="OSTREE-REPO-CHECKOUT-MODE-USER:CAPS"></a>OSTREE_REPO_CHECKOUT_MODE_USER</p></td>
<td class="enum_member_description">
<p>Ignore uid/gid of files</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="OstreeRepoCheckoutOverwriteMode"></a><h3>enum OstreeRepoCheckoutOverwriteMode</h3>
<div class="refsect3">
<a name="OstreeRepoCheckoutOverwriteMode.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
<td class="enum_member_name"><p><a name="OSTREE-REPO-CHECKOUT-OVERWRITE-NONE:CAPS"></a>OSTREE_REPO_CHECKOUT_OVERWRITE_NONE</p></td>
<td class="enum_member_description">
<p>No special options</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="OSTREE-REPO-CHECKOUT-OVERWRITE-UNION-FILES:CAPS"></a>OSTREE_REPO_CHECKOUT_OVERWRITE_UNION_FILES</p></td>
<td class="enum_member_description">
<p>When layering checkouts, <code class="function">unlink()</code> and replace
existing files, but do not modify existing directories (unless whiteouts are enabled, then
directories are replaced)</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="OSTREE-REPO-CHECKOUT-OVERWRITE-ADD-FILES:CAPS"></a>OSTREE_REPO_CHECKOUT_OVERWRITE_ADD_FILES</p></td>
<td class="enum_member_description">
<p>Only add new files/directories</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="OSTREE-REPO-CHECKOUT-OVERWRITE-UNION-IDENTICAL:CAPS"></a>OSTREE_REPO_CHECKOUT_OVERWRITE_UNION_IDENTICAL</p></td>
<td class="enum_member_description">
<p>Like UNION_FILES, but error if files are not
identical (requires hardlink checkouts)</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="OstreeRepoListObjectsFlags"></a><h3>enum OstreeRepoListObjectsFlags</h3>
<div class="refsect3">
<a name="OstreeRepoListObjectsFlags.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
<td class="enum_member_name"><p><a name="OSTREE-REPO-LIST-OBJECTS-LOOSE:CAPS"></a>OSTREE_REPO_LIST_OBJECTS_LOOSE</p></td>
<td class="enum_member_description">
<p>List only loose (plain file) objects</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="OSTREE-REPO-LIST-OBJECTS-PACKED:CAPS"></a>OSTREE_REPO_LIST_OBJECTS_PACKED</p></td>
<td class="enum_member_description">
<p>List only packed (compacted into blobs) objects</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="OSTREE-REPO-LIST-OBJECTS-ALL:CAPS"></a>OSTREE_REPO_LIST_OBJECTS_ALL</p></td>
<td class="enum_member_description">
<p>List all objects</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="OSTREE-REPO-LIST-OBJECTS-NO-PARENTS:CAPS"></a>OSTREE_REPO_LIST_OBJECTS_NO_PARENTS</p></td>
<td class="enum_member_description">
<p>Only list objects in this repo, not parents</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="OSTREE-REPO-LIST-OBJECTS-VARIANT-TYPE:CAPS"></a><h3>OSTREE_REPO_LIST_OBJECTS_VARIANT_TYPE</h3>
<pre class="programlisting">#define OSTREE_REPO_LIST_OBJECTS_VARIANT_TYPE (G_VARIANT_TYPE ("(bas)")
</pre>
<p>b - <code class="literal">TRUE</code> if object is available "loose"
as - List of pack file checksums in which this object appears</p>
</div>
<hr>
<div class="refsect2">
<a name="OstreeStaticDeltaGenerateOpt"></a><h3>enum OstreeStaticDeltaGenerateOpt</h3>
<p>Parameters controlling optimization of static deltas.</p>
<div class="refsect3">
<a name="OstreeStaticDeltaGenerateOpt.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
<td class="enum_member_name"><p><a name="OSTREE-STATIC-DELTA-GENERATE-OPT-LOWLATENCY:CAPS"></a>OSTREE_STATIC_DELTA_GENERATE_OPT_LOWLATENCY</p></td>
<td class="enum_member_description">
<p>Optimize for speed of delta creation over space</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="OSTREE-STATIC-DELTA-GENERATE-OPT-MAJOR:CAPS"></a>OSTREE_STATIC_DELTA_GENERATE_OPT_MAJOR</p></td>
<td class="enum_member_description">
<p>Optimize for delta size (may be very slow)</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="OstreeRepoCommitTraverseFlags"></a><h3>enum OstreeRepoCommitTraverseFlags</h3>
<div class="refsect3">
<a name="OstreeRepoCommitTraverseFlags.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
<td class="enum_member_name"><p><a name="OSTREE-REPO-COMMIT-TRAVERSE-FLAG-NONE:CAPS"></a>OSTREE_REPO_COMMIT_TRAVERSE_FLAG_NONE</p></td>
<td class="enum_member_description">
<p>No special options for traverse</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="OSTREE-REPO-COMMIT-TRAVERSE-FLAG-COMMIT-ONLY:CAPS"></a>OSTREE_REPO_COMMIT_TRAVERSE_FLAG_COMMIT_ONLY</p></td>
<td class="enum_member_description">
<p>Traverse and retrieve only commit objects.
(Since: 2022.2)</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="OstreeRepoCommitIterResult"></a><h3>enum OstreeRepoCommitIterResult</h3>
<div class="refsect3">
<a name="OstreeRepoCommitIterResult.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
<td class="enum_member_name"><p><a name="OSTREE-REPO-COMMIT-ITER-RESULT-ERROR:CAPS"></a>OSTREE_REPO_COMMIT_ITER_RESULT_ERROR</p></td>
<td> </td>
<td> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="OSTREE-REPO-COMMIT-ITER-RESULT-END:CAPS"></a>OSTREE_REPO_COMMIT_ITER_RESULT_END</p></td>
<td> </td>
<td> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="OSTREE-REPO-COMMIT-ITER-RESULT-FILE:CAPS"></a>OSTREE_REPO_COMMIT_ITER_RESULT_FILE</p></td>
<td> </td>
<td> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="OSTREE-REPO-COMMIT-ITER-RESULT-DIR:CAPS"></a>OSTREE_REPO_COMMIT_ITER_RESULT_DIR</p></td>
<td> </td>
<td> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="OstreeRepoPruneFlags"></a><h3>enum OstreeRepoPruneFlags</h3>
<div class="refsect3">
<a name="OstreeRepoPruneFlags.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
<td class="enum_member_name"><p><a name="OSTREE-REPO-PRUNE-FLAGS-NONE:CAPS"></a>OSTREE_REPO_PRUNE_FLAGS_NONE</p></td>
<td class="enum_member_description">
<p>No special options for pruning</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="OSTREE-REPO-PRUNE-FLAGS-NO-PRUNE:CAPS"></a>OSTREE_REPO_PRUNE_FLAGS_NO_PRUNE</p></td>
<td class="enum_member_description">
<p>Don't actually delete objects</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="OSTREE-REPO-PRUNE-FLAGS-REFS-ONLY:CAPS"></a>OSTREE_REPO_PRUNE_FLAGS_REFS_ONLY</p></td>
<td class="enum_member_description">
<p>Do not traverse individual commit objects, only follow refs
for reachability calculations</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="OSTREE-REPO-PRUNE-FLAGS-COMMIT-ONLY:CAPS"></a>OSTREE_REPO_PRUNE_FLAGS_COMMIT_ONLY</p></td>
<td class="enum_member_description">
<p>Only traverse commit objects.  (Since 2022.2)</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="OstreeRepoPullFlags"></a><h3>enum OstreeRepoPullFlags</h3>
<div class="refsect3">
<a name="OstreeRepoPullFlags.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
<td class="enum_member_name"><p><a name="OSTREE-REPO-PULL-FLAGS-NONE:CAPS"></a>OSTREE_REPO_PULL_FLAGS_NONE</p></td>
<td class="enum_member_description">
<p>No special options for pull</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="OSTREE-REPO-PULL-FLAGS-MIRROR:CAPS"></a>OSTREE_REPO_PULL_FLAGS_MIRROR</p></td>
<td class="enum_member_description">
<p>Write out refs suitable for mirrors and fetch all refs if none
requested</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="OSTREE-REPO-PULL-FLAGS-COMMIT-ONLY:CAPS"></a>OSTREE_REPO_PULL_FLAGS_COMMIT_ONLY</p></td>
<td class="enum_member_description">
<p>Fetch only the commit metadata</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="OSTREE-REPO-PULL-FLAGS-UNTRUSTED:CAPS"></a>OSTREE_REPO_PULL_FLAGS_UNTRUSTED</p></td>
<td class="enum_member_description">
<p>Do verify checksums of local (filesystem-accessible)
repositories (defaults on for HTTP)</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="OSTREE-REPO-PULL-FLAGS-BAREUSERONLY-FILES:CAPS"></a>OSTREE_REPO_PULL_FLAGS_BAREUSERONLY_FILES</p></td>
<td class="enum_member_description">
<p>Since 2017.7.  Reject writes of content objects with
modes outside of 0775.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="OSTREE-REPO-PULL-FLAGS-TRUSTED-HTTP:CAPS"></a>OSTREE_REPO_PULL_FLAGS_TRUSTED_HTTP</p></td>
<td class="enum_member_description">
<p>Don't verify checksums of objects HTTP repositories
(Since: 2017.12)</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.33.1</div>
</body>
</html>